
int fts3SegReaderNext(Fts3Table *p,Fts3SegReader *pReader,int bIncr)

{
  byte bVar1;
  sqlite3_stmt **ppsVar2;
  sqlite3_vtab *psVar3;
  int iVar4;
  byte *pbVar5;
  Fts3Table *pFVar6;
  Fts3MultiSegReader *pFVar7;
  int iVar8;
  Fts3Table *pFVar9;
  uint uVar10;
  Fts3Table *pFVar11;
  sqlite3 *psVar12;
  sqlite3 *psVar13;
  int *piVar14;
  sqlite3_module *psVar15;
  char *pcVar16;
  sqlite3_module *psVar17;
  Fts3Table *pFVar18;
  byte *pbVar19;
  int iVar20;
  Fts3MultiSegReader *pCsr;
  uint uVar21;
  Fts3Table *in_a3;
  byte *pbVar22;
  byte *pbVar23;
  byte *pbVar24;
  int *piVar25;
  Fts3SegReader *pReader_00;
  Fts3Table *pFVar26;
  u32 uVar27;
  int iVar28;
  Fts3Table *pFVar29;
  Fts3Table *unaff_s4;
  int iVar30;
  char *unaff_s5;
  char *unaff_s6;
  Fts3Table *unaff_s7;
  sqlite3_module *psVar31;
  undefined *puVar32;
  code *pcVar33;
  Fts3Table *unaff_s8;
  int iVar34;
  code *pcVar35;
  Fts3MultiSegReader FStackY_150;
  undefined *puStackY_108;
  code *pcStackY_fc;
  code *pcStackY_f8;
  Fts3Table *pFStackY_f4;
  Fts3Table *pFStackY_f0;
  byte *pbStackY_ec;
  Fts3Table *pFStackY_e8;
  int iStackY_e4;
  Fts3Table *pFStackY_e0;
  Fts3Table *pFStackY_dc;
  Fts3Table *pFStackY_d8;
  Fts3Table *pFStackY_d4;
  Fts3Table *pFStackY_d0;
  uint uStackY_cc;
  Fts3Table *pFStackY_c8;
  Fts3Table *pFStackY_c4;
  code *pcStackY_c0;
  uint uStackY_bc;
  uint uStackY_b8;
  uint uStackY_b4;
  code *pcStackY_b0;
  code *pcStackY_ac;
  Fts3Table *pFStackY_a8;
  sqlite3 *psStackY_a4;
  Fts3Table *pFStackY_a0;
  code *pcStackY_9c;
  int *piStackY_98;
  sqlite3_mutex *psStackY_94;
  sqlite3_module *psStackY_90;
  sqlite3_module *psStackY_8c;
  sqlite3_module *psStackY_88;
  sqlite3 *psStackY_84;
  sqlite3 *psStackY_7c;
  Fts3SegReader *pFStackY_78;
  Fts3Table *pFStackY_74;
  char **ppcStackY_70;
  Fts3Table *pFStackY_6c;
  Fts3Table *pFStackY_68;
  int nPrefix;
  int nSuffix;
  Fts3Table *pFStack_1c;
  
  pFVar6 = (Fts3Table *)PTR___stack_chk_guard_0015ba2c;
  pFStack_1c = *(Fts3Table **)PTR___stack_chk_guard_0015ba2c;
  if (pReader->aDoclist == (char *)0x0) {
    pFVar26 = (Fts3Table *)pReader->aNode;
  }
  else {
    pFVar26 = (Fts3Table *)(pReader->aDoclist + pReader->nDoclist);
  }
  if ((pFVar26 == (Fts3Table *)0x0) || ((Fts3Table *)(pReader->aNode + pReader->nNode) <= pFVar26))
  {
    pFVar18 = (Fts3Table *)pReader;
    if (pReader->ppNextElem == (Fts3HashElem **)0x0) {
      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(pReader);
      iVar4 = *(int *)&pReader->iCurrentBlock;
      pFVar9 = *(Fts3Table **)((int)&pReader->iCurrentBlock + 4);
      if (*(int *)&pReader->iLeafEndBlock <= iVar4) {
        if (*(int *)&pReader->iLeafEndBlock != iVar4) goto LAB_0011da80;
        in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);
        if (*(Fts3Table **)((int)&pReader->iLeafEndBlock + 4) <= pFVar9) {
          iVar4 = 0;
          goto LAB_0011db18;
        }
      }
      in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);
      *(Fts3Table **)((int)&pReader->iCurrentBlock + 4) = in_a3;
      piVar25 = (int *)((uint)(in_a3 < pFVar9) + iVar4);
      *(int **)&pReader->iCurrentBlock = piVar25;
      iVar4 = sqlite3Fts3ReadBlock
                        (p,CONCAT44(&pReader->aNode,&pReader->nNode),(char **)pFVar18,piVar25,
                         (int *)in_a3);
      if (iVar4 == 0) {
        pFVar26 = (Fts3Table *)pReader->aNode;
        goto LAB_0011d91c;
      }
    }
    else {
      p = (Fts3Table *)*pReader->ppNextElem;
      (*(code *)PTR_sqlite3_free_0015b620)(pReader->aNode);
      pReader->aNode = (char *)0x0;
      puVar32 = PTR_sqlite3_malloc_0015b640;
      if (p == (Fts3Table *)0x0) {
LAB_0011da80:
        iVar4 = 0;
      }
      else {
        unaff_s4 = (Fts3Table *)(p->base).zErrMsg;
        psVar15 = (unaff_s4->base).pModule;
        pReader->zTerm = (char *)p->db;
        pFVar26 = (Fts3Table *)((int)&psVar15->iVersion + 1);
        pReader->nTerm = (int)p->zDb;
        iVar4 = (*(code *)puVar32)(pFVar26);
        if (iVar4 != 0) {
          pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;
          pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);
          iVar4 = 0;
          pReader->nDoclist = (int)pFVar26;
          pReader->nNode = (int)pFVar26;
          pReader->aDoclist = pcVar16;
          pReader->aNode = pcVar16;
          pReader->ppNextElem = pReader->ppNextElem + 1;
          goto LAB_0011db18;
        }
LAB_0011dbc4:
        iVar4 = 7;
      }
    }
  }
  else {
LAB_0011d91c:
    p = (Fts3Table *)(PTR_LAB_0015b6f8 + 0x5f80);
    pFVar18 = pFVar26;
    iVar4 = (*(code *)p)(pReader,pFVar26,0x14);
    if (iVar4 == 0) {
      bVar1 = *(byte *)&(pFVar26->base).pModule;
      if ((char)bVar1 < '\0') {
        pFVar18 = (Fts3Table *)&nPrefix;
        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pFVar26);
      }
      else {
        iVar4 = 1;
        nPrefix = (uint)bVar1;
      }
      pbVar24 = (byte *)((int)pFVar26->aStmt + iVar4 + -0x38);
      if ((char)*pbVar24 < '\0') {
        pFVar18 = (Fts3Table *)&nSuffix;
        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);
      }
      else {
        iVar4 = 1;
        nSuffix = (uint)*pbVar24;
      }
      pFVar26 = (Fts3Table *)(pbVar24 + iVar4);
      if (0 < nSuffix) {
        iVar4 = 0x10b;
        if ((int)(pReader->aNode + (pReader->nNode - (int)pFVar26)) < nSuffix) goto LAB_0011db18;
        pFVar9 = (Fts3Table *)pReader->nTermAlloc;
        pFVar18 = (Fts3Table *)(nPrefix >> 0x1f);
        if (nPrefix <= (int)pFVar9) {
          in_a3 = (Fts3Table *)(nPrefix + nSuffix);
          iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38;
          pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4);
          if ((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))
          {
            uVar10 = (uint)in_a3 >> 0x1f;
            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);
            in_a3 = unaff_s4;
            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)
                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);
            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;
            pReader->zTerm = pcVar16;
            pReader->nTermAlloc = (int)unaff_s4;
          }
          pFVar18 = pFVar26;
          iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10);
          if (iVar4 != 0) goto LAB_0011db18;
          pFVar18 = pFVar26;
          (*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix);
          pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38);
          pReader->nTerm = nPrefix + nSuffix;
          uVar10 = (uint)*pbVar24;
          if ((char)*pbVar24 < '\0') {
            pFVar18 = (Fts3Table *)&pReader->nDoclist;
            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);
            uVar10 = pReader->nDoclist;
          }
          else {
            iVar4 = 1;
            pReader->nDoclist = uVar10;
          }
          pFVar26 = (Fts3Table *)(pbVar24 + iVar4);
          pReader->aDoclist = (char *)pFVar26;
          pReader->pOffsetList = (char *)0x0;
          if ((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)) {
            iVar4 = 0;
            if (pReader->nPopulate != 0) goto LAB_0011db18;
            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));
            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;
          }
        }
      }
      iVar4 = 0x10b;
    }
  }
LAB_0011db18:
  if (pFStack_1c == *(Fts3Table **)pFVar6) {
    return iVar4;
  }
  pFVar9 = pFStack_1c;
  puVar32 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  puStackY_108 = puVar32 + 0x45928;
  pFStackY_68 = unaff_s4;
  pFStackY_6c = p;
  ppcStackY_70 = (char **)pFVar6;
  pFStackY_74 = pFVar26;
  pFStackY_78 = pReader;
  piStackY_98 = *(int **)(puVar32 + 0x3dda4);
  pFStackY_c8 = pFVar9;
  pFStackY_e0 = pFVar18;
  psStackY_7c = (sqlite3 *)**(int **)(puVar32 + 0x3dda4);
  pFStackY_a0 = (Fts3Table *)(pFVar18->base).nRef;
  pFVar29 = p;
  if (pFVar9->bDescIdx == '\0') {
    pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x26f0);
    iVar4 = 0;
    if (pFStackY_a0 != (Fts3Table *)0x0) {
LAB_0011dd08:
      psStackY_a4 = pFVar18->db;
      unaff_s6 = (pFVar18->base).zErrMsg;
      psStackY_94 = psStackY_a4->mutex;
      pcStackY_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);
      pFStackY_f0 = (Fts3Table *)(pFVar18->base).pModule;
      pcStackY_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);
      pcStackY_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);
      uStackY_cc = (uint)psStackY_94 & 1;
      do {
        pFVar9 = pFStackY_c8;
        pFVar18 = pFStackY_e0;
        pFVar26 = (Fts3Table *)0x0;
        pReader = (Fts3SegReader *)pFStackY_f0;
        pFVar29 = p;
        if (0 < (int)unaff_s6) {
          do {
            psVar15 = (((Fts3Table *)pReader)->base).pModule;
            pFVar6 = pFVar18;
            pFVar29 = pFVar9;
            if (*(char *)&psVar15->xCreate == '\0') {
              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);
              if (iVar4 != 0) goto LAB_0011ddb4;
            }
            else {
              (*pcStackY_ac)();
            }
            unaff_s6 = (pFVar18->base).zErrMsg;
            pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);
            pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;
          } while ((int)pFVar26 < (int)unaff_s6);
        }
        pReader = (Fts3SegReader *)pFStackY_f0;
        pcStackY_c0 = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x2944);
        in_a3 = (Fts3Table *)(*(int *)(puStackY_108 + -0x7ed8) + -0x7638);
        (*pcStackY_c0)(pFStackY_f0,pFStackY_a0,unaff_s6);
        (pFStackY_e0->base).zErrMsg = (char *)0x0;
        psVar15 = (((Fts3Table *)pReader)->base).pModule;
        if (psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0) goto LAB_0011de08;
        pFVar6 = (Fts3Table *)psVar15->xSync;
        pFStackY_e0->zLanguageid = (char *)pFVar6;
        pReader = (Fts3SegReader *)((((Fts3Table *)pReader)->base).pModule)->xCommit;
        pFStackY_e0->zContentTbl = (char *)pReader;
        if ((psStackY_a4->pVfs != (sqlite3_vfs *)0x0) && (((uint)psStackY_94 & 0x10) == 0)) {
          iVar4 = 0;
          if (((int)pFVar6 < (int)psStackY_a4->pVdbe) ||
             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))))
          break;
          iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader);
          if (iVar4 != 0) {
            iVar4 = 0;
            break;
          }
        }
        pFVar18 = pFStackY_a0;
        if ((((int)pFStackY_a0 < 2) ||
            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,
            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||
           (pFVar6 != (Fts3Table *)psVar15->xSync)) {
LAB_0011df14:
          p = pFVar29;
          pFVar18 = pFStackY_e0;
          psVar15 = (pFStackY_f0->base).pModule;
          if (((uint)psStackY_94 & 0x22) == 0) {
            if ((pFStackY_c8->bDescIdx == '\0') ||
               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),
               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {
              pReader = (Fts3SegReader *)psVar15->xRename;
              pFStackY_e0->nLeafAdd = (u32)pReader;
              psVar15 = (pFStackY_f0->base).pModule;
              pFVar6 = pFVar18;
              pFVar29 = p;
              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {
                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;
              }
              else {
                pFVar26 = (Fts3Table *)psVar15->xFindFunction;
                pcVar16 = pFStackY_e0->zDb;
                if ((int)pFStackY_e0->zName < (int)pReader) {
                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);
                  pFStackY_e0->zName = (char *)((int)pReader << 1);
                  pcVar16 = (char *)(*pcVar33)(pcVar16);
                  if (pcVar16 == (char *)0x0) {
                    iVar4 = 7;
                    pcVar16 = pFStackY_e0->zDb;
                    (pFStackY_e0->base).zErrMsg = (char *)0x1;
                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;
                    break;
                  }
                  pFVar18->zDb = pcVar16;
                }
                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);
                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;
              }
              iVar4 = 100;
              (pFStackY_e0->base).zErrMsg = (char *)0x1;
              break;
            }
          }
          else {
            iVar4 = *(int *)(puStackY_108 + -0x7eb8);
          }
          unaff_s6 = (char *)0x1;
          (*(code *)(iVar4 + 0x605c))();
        }
        else {
          pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg;
          unaff_s6 = (char *)0x1;
          while (iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),
                p = pFStackY_c8, iVar4 == 0) {
            unaff_s6 = unaff_s6 + 1;
            if ((((int)pFVar18 <= (int)unaff_s6) ||
                (psVar15 = (pFVar26->base).pModule,
                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||
               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)
               ) goto LAB_0011e64c;
          }
          pFVar29 = pFVar18;
          if (unaff_s6 == (char *)0x1) goto LAB_0011df14;
LAB_0011e64c:
          iVar4 = *(int *)(puStackY_108 + -0x7eb8);
          ppsVar2 = pFStackY_f0->aStmt;
          pFVar6 = pFStackY_f0;
          do {
            psVar3 = &pFVar6->base;
            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;
            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);
          } while ((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6);
        }
        pFVar26 = pFStackY_f0;
        in_a3 = pFStackY_c4;
        (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s6);
        if (((pFVar26->base).pModule)->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) {
          unaff_s8 = (Fts3Table *)&psStackY_8c;
          unaff_s7 = (Fts3Table *)&psStackY_90;
          pFStackY_dc = (Fts3Table *)0x0;
          pFStackY_d8 = (Fts3Table *)0x0;
          pFVar6 = (Fts3Table *)&pFStackY_c8->bDescIdx;
          pFStackY_f4 = (Fts3Table *)0x0;
          pcStackY_fc = (code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168);
          pcStackY_9c = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220);
          uStackY_b8 = (uint)psStackY_94 & 4;
          uStackY_bc = (uint)psStackY_94 & 2;
          uStackY_b4 = (uint)psStackY_94 & 0x20;
          pFStackY_d4 = unaff_s7;
          pFStackY_d0 = unaff_s8;
          do {
            p = pFStackY_f0;
            psStackY_90 = (sqlite3_module *)0x0;
            psStackY_8c = (sqlite3_module *)0x0;
            psVar15 = (pFStackY_f0->base).pModule;
            pFVar26 = (Fts3Table *)psVar15->xRollbackTo;
            pReader = (Fts3SegReader *)psVar15->xShadowName;
            in_a3 = pFStackY_d0;
            (*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);
            if (unaff_s6 == (char *)0x1) {
              unaff_s5 = (char *)0x1;
            }
            else {
              psVar15 = (sqlite3_module *)(p->base).nRef;
              unaff_s5 = (char *)0x1;
              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&
                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&
                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {
                p = (Fts3Table *)&(p->base).zErrMsg;
                while( true ) {
                  in_a3 = (Fts3Table *)0x0;
                  unaff_s5 = unaff_s5 + 1;
                  (*pcStackY_fc)(pFVar6,psVar15,0);
                  if ((unaff_s5 == unaff_s6) ||
                     (psVar15 = (p->base).pModule,
                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;
                  p = (Fts3Table *)&(p->base).nRef;
                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||
                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;
                }
              }
            }
            if (uStackY_b8 != 0) {
              in_a3 = pFStackY_d0;
              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);
            }
            pFVar18 = pFStackY_e0;
            if ((uStackY_bc == 0) ||
               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {
              if (pFStackY_c8->bDescIdx == '\0') {
                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);
                pFVar29 = (Fts3Table *)
                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));
                pFStackY_e8 = unaff_s4;
                if (((int)pFVar29 < 1) &&
                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {
                  iVar4 = 0x10b;
                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;
LAB_0011e414:
                  iVar4 = 0x10b;
                  unaff_s4 = pFStackY_e8;
                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;
                  if ((Fts3Table *)pReader != pFStackY_e8) {
                    iVar4 = 0x10b;
                    goto LAB_0011ddb4;
                  }
                }
              }
              else if ((int)pFStackY_f4 < 1) {
                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);
                pFVar29 = (Fts3Table *)
                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));
                if (((int)pFVar29 < 1) &&
                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))
                goto LAB_0011e414;
              }
              else {
                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);
                pFVar29 = (Fts3Table *)
                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));
                if (((int)pFVar29 < 1) &&
                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||
                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;
              }
              unaff_s8 = pFStackY_e8;
              pFVar9 = pFStackY_e8;
              pFVar11 = pFVar29;
              iVar4 = 0;
              do {
                iVar20 = iVar4;
                uVar10 = (int)pFVar11 << 0x19;
                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);
                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);
                iVar4 = iVar20 + 1;
              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);
              if (uStackY_cc != 0) {
                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;
              }
              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;
              pcVar16 = pFStackY_e0->zDb;
              unaff_s4 = pFStackY_e8;
              unaff_s7 = pFVar29;
              if ((int)pFStackY_e0->zName < iVar4) {
                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);
                pFStackY_e0->zName = (char *)(iVar4 * 2);
                pcVar16 = (char *)(*pcVar33)(pcVar16);
                unaff_s4 = pFVar18;
                if (pcVar16 == (char *)0x0) {
                  iVar4 = 7;
                  goto LAB_0011ddb4;
                }
                pFVar18->zDb = pcVar16;
              }
              p = pFStackY_e0;
              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);
              pbVar24 = pbVar5;
              pFVar18 = unaff_s8;
              pbStackY_ec = pbVar5;
              pFVar9 = pFVar26;
              if (uStackY_b4 == 0) {
                do {
                  pbVar19 = pbVar24;
                  uVar10 = (int)unaff_s7 << 0x19;
                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);
                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);
                  bVar1 = (byte)pFVar18;
                  *pbVar19 = bVar1 | 0x80;
                  pbVar24 = pbVar19 + 1;
                  pFVar18 = unaff_s8;
                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);
                *pbVar19 = bVar1 & 0x7f;
                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));
                pFStackY_f4 = pFVar18;
                pFVar11 = (Fts3Table *)pReader;
                if (uStackY_cc != 0) {
                  (**(code **)(puStackY_108 + -0x7b80))
                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);
                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +
                          (int)&psStackY_8c[-1].xEof;
                  p->zDb[iVar4] = '\0';
                  unaff_s4 = pFVar18;
                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);
                  pFVar11 = (Fts3Table *)pReader;
                }
              }
              else {
                uVar10 = (uint)*(char *)&psStackY_90->iVersion;
                psVar31 = (sqlite3_module *)
                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);
                psVar15 = psStackY_90;
                if (uVar10 == 1) {
                  pbVar24 = (byte *)0x0;
                  p = pFVar29;
                  pFVar9 = pFStackY_dc;
                  pFVar11 = pFStackY_d8;
                  if (psStackY_90 < psVar31) {
                    iStackY_e4 = 0;
                    goto LAB_0011e284;
                  }
                }
                else {
                  pbVar24 = (byte *)0x0;
                  pFVar18 = pFStackY_e8;
                  pFVar9 = pFVar29;
                  pbVar19 = pbVar5;
                  if (uVar10 == 2) {
                    do {
                      pbVar24 = pbVar19;
                      uVar10 = (int)pFVar9 << 0x19;
                      pbVar19 = pbVar24 + 1;
                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);
                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);
                      bVar1 = (byte)pFVar18;
                      *pbVar24 = bVar1 | 0x80;
                      pFVar18 = pFVar11;
                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);
                    *pbVar24 = bVar1 & 0x7f;
                    pbVar24 = pbVar19 + (1 - (int)pbVar5);
                    *pbVar19 = 2;
                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;
                    iStackY_e4 = 1;
                    uVar21 = uVar10;
                  }
                  else {
                    iStackY_e4 = 0;
                    uVar21 = uVar10;
                  }
                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {
                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);
                    uVar21 = uVar10 & 0xffffff80;
                    uVar10 = (uint)*(char *)&psVar15->iVersion;
                  }
                  if (psVar15 < psVar31) {
LAB_0011e284:
                    unaff_s4 = (Fts3Table *)&psStackY_88;
                    unaff_s7 = (Fts3Table *)0x2;
                    unaff_s8 = (Fts3Table *)0xffffff80;
                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);
                    pFStackY_a8 = pFVar29;
                    do {
                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);
                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);
                      uVar10 = (uint)*(char *)&psVar15->iVersion;
                      uVar21 = uVar10;
                      if (uVar10 == 2) {
                        pbVar23 = pbVar5 + (int)pbVar24;
                        pFVar18 = pFStackY_e8;
                        pFVar9 = pFStackY_a8;
                        pbVar19 = pbVar23;
                        if (iStackY_e4 == 0) {
                          do {
                            pbVar22 = pbVar19;
                            uVar10 = (int)pFVar9 << 0x19;
                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);
                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);
                            bVar1 = (byte)pFVar18;
                            *pbVar22 = bVar1 | 0x80;
                            pFVar18 = pFVar29;
                            pbVar19 = pbVar22 + 1;
                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);
                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);
                          *pbVar22 = bVar1 & 0x7f;
                          pbVar23 = pbVar5 + (int)pbVar24;
                        }
                        pbVar22 = pbVar24 + 1;
                        *pbVar23 = 1;
                        psVar12 = psStackY_84;
                        psVar17 = psStackY_88;
                        pbVar19 = pbVar5 + (int)pbVar22;
                        do {
                          pbVar24 = pbVar19;
                          uVar10 = (int)psVar17 << 0x19;
                          pbVar19 = pbVar24 + 1;
                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);
                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);
                          bVar1 = (byte)psVar12;
                          *pbVar24 = bVar1 | 0x80;
                          psVar12 = psVar13;
                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);
                        iStackY_e4 = 1;
                        *pbVar24 = bVar1 & 0x7f;
                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;
                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;
                        uVar10 = (uint)*(char *)&psVar15->iVersion;
                        uVar21 = uVar10;
                      }
                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {
                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);
                        uVar21 = uVar10 & 0xffffff80;
                        uVar10 = (uint)*(char *)&psVar15->iVersion;
                      }
                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);
                      pFVar18 = pFVar29;
                    } while (psVar15 < psVar31);
                  }
                  if (iStackY_e4 != 0) {
                    pbVar5 = pbStackY_ec + (int)pbVar24;
                    pbVar24 = pbVar24 + 1;
                    *pbVar5 = 0;
                  }
                  p = pFVar29;
                  pFVar9 = pFStackY_dc;
                  pFVar11 = pFStackY_d8;
                  if (pbVar24 != (byte *)0x0) {
                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));
                    pFVar9 = pFVar26;
                    pFVar11 = (Fts3Table *)pReader;
                  }
                }
              }
            }
            pFStackY_d8 = pFVar11;
            pFStackY_dc = pFVar9;
            pReader = (Fts3SegReader *)pFStackY_f0;
            in_a3 = pFStackY_c4;
            (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);
          } while (((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=
                   (_func_int_sqlite3_vtab_ptr_int *)0x0);
          if (0 < (int)pFStackY_f4) goto LAB_0011e6ac;
        }
        (pFStackY_e0->base).zErrMsg = unaff_s6;
      } while( true );
    }
  }
  else {
    pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x2674);
    if (pFStackY_a0 != (Fts3Table *)0x0) goto LAB_0011dd08;
LAB_0011de08:
    iVar4 = 0;
  }
LAB_0011ddb4:
  if (psStackY_7c == (sqlite3 *)*piStackY_98) {
    return iVar4;
  }
  pcVar33 = *(code **)(puStackY_108 + -0x7ba0);
  pcVar35 = fts3auxNextMethod;
  psVar12 = psStackY_7c;
  (*pcVar33)();
  piVar25 = *(int **)(pcVar33 + 0x3d334);
  iVar4 = psVar12->nTotalChange;
  uVar10 = psVar12->nChange + 1;
  pFVar18 = (Fts3Table *)psVar12->aLimit[0];
  iVar20 = iVar4 + 1;
  FStackY_150.pFilter = (Fts3SegFilter *)*piVar25;
  pFVar9 = (Fts3Table *)psVar12->pVfs->pNext;
  psVar12->magic = (uint)(uVar10 < (uint)psVar12->nChange) + psVar12->magic;
  psVar12->nChange = uVar10;
  psVar12->nTotalChange = iVar20;
  FStackY_150.aBuffer = (char *)pReader;
  FStackY_150.nBuffer = (int)pFVar26;
  FStackY_150.iColFilter = (int)pFVar6;
  FStackY_150.bRestart = (int)pFVar29;
  FStackY_150.nCost = (int)unaff_s4;
  FStackY_150.bLookup = (int)unaff_s5;
  FStackY_150.zTerm = unaff_s6;
  FStackY_150.nTerm = (int)unaff_s7;
  FStackY_150.aDoclist = (char *)unaff_s8;
  FStackY_150.nDoclist = (int)pcVar35;
  if (iVar20 < (int)pFVar18) {
    pCsr = (Fts3MultiSegReader *)(iVar20 * 0x10);
    piVar14 = (int *)((int)&pCsr->apSegment + psVar12->aLimit[1]);
    iVar20 = *piVar14;
    if (iVar20 < 1) {
      if ((iVar20 == 0) && (piVar14[1] != 0)) {
        iVar4 = 0;
      }
      else {
        pFVar6 = (Fts3Table *)(iVar4 + 2);
        iVar4 = (int)pCsr + psVar12->aLimit[1] + -0x10;
        do {
          psVar12->nTotalChange = (int)pFVar6;
          if (pFVar6 == pFVar18) goto LAB_0011e7d4;
          pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20);
          pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1);
          piVar14 = (int *)(iVar4 + 0x24);
          iVar4 = iVar4 + 0x10;
          if (0 < (int)pCsr) goto LAB_0011e880;
        } while ((pCsr != (Fts3MultiSegReader *)0x0) || (*piVar14 == 0));
        iVar4 = 0;
      }
      goto LAB_0011e884;
    }
  }
  else {
LAB_0011e7d4:
    pCsr = (Fts3MultiSegReader *)&psVar12->pVdbe;
    iVar4 = sqlite3Fts3SegReaderStep(pFVar9,pCsr);
    if (iVar4 != 100) {
      psVar12->mTrace = '\0';
      psVar12->noSharedCache = '\0';
      psVar12->nSqlExec = '\0';
      psVar12->field_0x5b = 1;
      goto LAB_0011e884;
    }
    iVar4._0_2_ = psVar12->dbOptFlags;
    iVar4._2_1_ = psVar12->enc;
    iVar4._3_1_ = psVar12->autoCommit;
    if (iVar4 != 0) {
      pFVar26 = *(Fts3Table **)&psVar12->szMmap;
      pFVar6 = *(Fts3Table **)&psVar12->temp_store;
      pCsr = *(Fts3MultiSegReader **)((int)&psVar12->lastRowid + 4);
      pFVar18 = pFVar26;
      if ((int)pFVar6 < (int)pFVar26) {
        pFVar18 = pFVar6;
      }
      iVar4 = (**(code **)(pcVar33 + 0x3d324))();
      if ((iVar4 < 0) || ((iVar4 == 0 && ((int)pFVar6 < (int)pFVar26)))) {
        iVar4 = 0;
        psVar12->mTrace = '\0';
        psVar12->noSharedCache = '\0';
        psVar12->nSqlExec = '\0';
        psVar12->field_0x5b = 1;
        goto LAB_0011e884;
      }
    }
    iVar4 = psVar12->aLimit[0];
    uVar27 = psVar12->nSchemaLock;
    iVar20 = (int)psVar12->szMmap;
    if (iVar4 < 2) {
      pFVar18 = (Fts3Table *)0x2;
      pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1);
      iVar4 = (*(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88))(psVar12->aLimit);
      if (iVar4 != 0) {
LAB_0011ec20:
        iVar4 = 7;
        goto LAB_0011e884;
      }
      iVar4 = psVar12->aLimit[0];
    }
    pFVar18 = (Fts3Table *)(iVar4 << 4);
    pCsr = (Fts3MultiSegReader *)0x0;
    (**(code **)(pcVar33 + 0x3d2bc))(psVar12->aLimit[1]);
    if (0 < (int)uVar27) {
      FStackY_150.nSegment = 0;
      pcVar35 = (code *)(*(int *)(pcVar33 + 0x3cf64) + 0xf74);
      FStackY_150.apSegment = (Fts3SegReader **)0x0;
      iVar4 = (*pcVar35)(iVar20,&FStackY_150);
      iVar30 = *(int *)(pcVar33 + 0x3d024);
LAB_0011e97c:
      piVar14 = (int *)psVar12->aLimit[1];
      pFVar7 = (Fts3MultiSegReader *)piVar14[1];
      pFVar18 = (Fts3Table *)*piVar14;
      pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);
      piVar14[1] = (int)pCsr;
      *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);
      if (iVar4 < (int)uVar27) {
        FStackY_150.nSegment = 0;
        FStackY_150.apSegment = (Fts3SegReader **)0x0;
        pCsr = &FStackY_150;
        iVar34 = (*pcVar35)(iVar20 + iVar4);
        iVar34 = iVar34 + iVar4;
        if ((0 < (int)FStackY_150.apSegment) ||
           ((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)))) {
          iVar4 = psVar12->aLimit[1];
          uVar10 = *(uint *)(iVar4 + 0x14);
          uVar21 = uVar10 + 1;
          *(uint *)(iVar4 + 0x14) = uVar21;
          *(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10);
          iVar4 = psVar12->aLimit[1];
          uVar10 = *(uint *)(iVar4 + 0x1c);
          uVar21 = uVar10 + 1;
          *(uint *)(iVar4 + 0x1c) = uVar21;
          *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);
          iVar4 = psVar12->aLimit[1];
          pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);
          pFVar18 = *(Fts3Table **)(iVar4 + 8);
          pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);
          *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;
          *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);
          if (iVar34 < (int)uVar27) {
            FStackY_150.nSegment = 0;
            FStackY_150.apSegment = (Fts3SegReader **)0x0;
            pCsr = &FStackY_150;
            iVar28 = (*pcVar35)(iVar20 + iVar34);
            iVar4 = 0x10;
            iVar34 = iVar34 + iVar28;
            goto LAB_0011eaec;
          }
          goto LAB_0011e87c;
        }
        if (FStackY_150.apSegment != (Fts3SegReader **)0x0 || FStackY_150.nSegment != 0) {
          if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)) {
            if (iVar34 < (int)uVar27) {
              FStackY_150.nSegment = 0;
              FStackY_150.apSegment = (Fts3SegReader **)0x0;
              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);
              iVar34 = iVar34 + iVar4;
              while ((iVar4 = FStackY_150.nSegment,
                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),
                     (int)pFVar18 <= psVar12->aLimit[0] ||
                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),
                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {
                iVar4 = (iVar4 + 1U) * 0x10;
                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);
                pFVar7 = (Fts3MultiSegReader *)piVar14[1];
                pFVar18 = (Fts3Table *)*piVar14;
                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);
                piVar14[1] = (int)pCsr;
                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);
                while( true ) {
                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;
                  FStackY_150.nSegment = 0;
                  FStackY_150.apSegment = (Fts3SegReader **)0x0;
                  pCsr = &FStackY_150;
                  iVar28 = (*pcVar35)(iVar20 + iVar34);
                  iVar34 = iVar34 + iVar28;
LAB_0011eaec:
                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {
                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;
                    FStackY_150.nSegment = 0;
                    FStackY_150.apSegment = (Fts3SegReader **)0x0;
                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);
                    iVar4 = iVar4 + iVar34;
                    goto LAB_0011e97c;
                  }
                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&
                     (FStackY_150.nSegment == 1)) break;
                  iVar28 = psVar12->aLimit[1] + iVar4;
                  uVar10 = *(uint *)(iVar28 + 0xc);
                  uVar21 = uVar10 + 1;
                  *(uint *)(iVar28 + 0xc) = uVar21;
                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);
                  iVar28 = psVar12->aLimit[1];
                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);
                  pFVar18 = *(Fts3Table **)(iVar28 + 8);
                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);
                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;
                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);
                }
                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;
                FStackY_150.nSegment = 0;
                FStackY_150.apSegment = (Fts3SegReader **)0x0;
                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);
                iVar34 = iVar4 + iVar34;
              }
              goto LAB_0011ec20;
            }
          }
          else {
            iVar4 = psVar12->aLimit[1];
            uVar10 = *(uint *)(iVar4 + 0x1c);
            uVar21 = uVar10 + 1;
            *(uint *)(iVar4 + 0x1c) = uVar21;
            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);
            iVar4 = psVar12->aLimit[1];
            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);
            pFVar18 = *(Fts3Table **)(iVar4 + 8);
            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);
            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;
            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);
            if (iVar34 < (int)uVar27) {
              FStackY_150.nSegment = 0;
              FStackY_150.apSegment = (Fts3SegReader **)0x0;
              pCsr = &FStackY_150;
              iVar28 = (*pcVar35)(iVar20 + iVar34);
              iVar4 = 0x10;
              iVar34 = iVar34 + iVar28;
              goto LAB_0011eaec;
            }
          }
          goto LAB_0011e87c;
        }
        if ((int)uVar27 <= iVar34) goto LAB_0011e87c;
        FStackY_150.nSegment = 0;
        FStackY_150.apSegment = (Fts3SegReader **)0x0;
        iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);
        iVar4 = iVar34 + iVar4;
        goto LAB_0011e97c;
      }
    }
LAB_0011e87c:
    psVar12->nTotalChange = 0;
  }
LAB_0011e880:
  iVar4 = 0;
LAB_0011e884:
  if ((Fts3Table *)FStackY_150.pFilter == (Fts3Table *)*piVar25) {
    return iVar4;
  }
  pcVar33 = *(code **)(pcVar33 + 0x3d318);
  pFVar6 = (Fts3Table *)FStackY_150.pFilter;
  (*pcVar33)();
  iVar4 = pCsr->nSegment;
  if ((pCsr->bRestart == 0) && (iVar20 = *(int *)(pcVar33 + 0x3ca34), 0 < iVar4)) {
    iVar34 = 0;
    iVar30 = *(int *)(pcVar33 + 0x3ca14);
    pFVar26 = pFVar18;
    do {
      iVar28 = 0;
      pReader_00 = pCsr->apSegment[iVar34];
      do {
        iVar8 = fts3SegReaderNext(pFVar6,pReader_00,(int)pFVar26);
        if (iVar8 != 0) {
          return iVar8;
        }
        pFVar26 = in_a3;
      } while ((pFVar18 != (Fts3Table *)0x0) &&
              (iVar28 = (*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18), iVar28 < 0));
      if ((pReader_00->bLookup != '\0') && (iVar28 != 0)) {
        (*(code *)(iVar20 + 0x5384))(pReader_00);
      }
      iVar34 = iVar34 + 1;
    } while ((pCsr->bRestart == 0) && (iVar34 < pCsr->nSegment));
  }
  (*(code *)(*(int *)(pcVar33 + 0x3c998) + 0x2944))
            (pCsr->apSegment,iVar4,iVar4,*(int *)(pcVar33 + 0x3ca14) + -0x7638);
  return 0;
LAB_0011e6ac:
  iVar4 = 100;
  pcVar16 = pFStackY_e0->zDb;
  pFStackY_e0->nLeafAdd = (u32)pFStackY_f4;
  (pFStackY_e0->base).zErrMsg = unaff_s6;
  pFStackY_e0->nAutoincrmerge = (int)pcVar16;
  pFVar29 = p;
  goto LAB_0011ddb4;
}



/* WARNING: Type propagation algorithm not settling */

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

{
  byte bVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  code *******pppppppcVar6;
  code ******ppppppcVar7;
  code *******pppppppcVar8;
  int *piVar9;
  code ******ppppppcVar10;
  int *piVar11;
  undefined4 uVar12;
  code *******pppppppcVar13;
  code *pcVar14;
  int iVar15;
  int *piVar16;
  uint uVar17;
  uint uVar18;
  int *piVar19;
  code *pcVar20;
  code *pcVar21;
  int *piVar22;
  int iVar23;
  code *******pppppppcVar24;
  code *pcVar25;
  code *******pppppppcVar26;
  code *pcVar27;
  int iVar28;
  code *******pppppppcVar29;
  code *******unaff_s4;
  int iVar30;
  code ******unaff_s5;
  code ******unaff_s6;
  code *******unaff_s7;
  code ******ppppppcVar31;
  undefined *puVar32;
  code *******unaff_s8;
  int iVar33;
  undefined4 uVar34;
  int iStack_150;
  uint uStack_14c;
  int iStack_144;
  code *******pppppppcStack_140;
  code *******pppppppcStack_13c;
  code *******pppppppcStack_138;
  code *******pppppppcStack_134;
  code *******pppppppcStack_130;
  code ******ppppppcStack_12c;
  code ******ppppppcStack_128;
  code *******pppppppcStack_124;
  code *******pppppppcStack_120;
  undefined4 uStack_11c;
  undefined *puStack_108;
  code *pcStack_fc;
  code *pcStack_f8;
  code *******pppppppcStack_f4;
  code *******pppppppcStack_f0;
  code *pcStack_ec;
  code *******pppppppcStack_e8;
  int iStack_e4;
  code *******pppppppcStack_e0;
  code *******pppppppcStack_dc;
  code *******pppppppcStack_d8;
  code *******pppppppcStack_d4;
  code *******pppppppcStack_d0;
  uint uStack_cc;
  code *******pppppppcStack_c8;
  code *******pppppppcStack_c4;
  code *pcStack_c0;
  uint uStack_bc;
  uint uStack_b8;
  uint uStack_b4;
  code *pcStack_b0;
  code *pcStack_ac;
  code *******pppppppcStack_a8;
  code ******ppppppcStack_a4;
  code *******pppppppcStack_a0;
  code *pcStack_9c;
  int *piStack_98;
  code *****pppppcStack_94;
  code ******ppppppcStack_90;
  code ******ppppppcStack_8c;
  code ******ppppppcStack_88;
  uint uStack_84;
  int *piStack_7c;
  code *******pppppppcStack_78;
  code *******pppppppcStack_74;
  undefined *puStack_70;
  code *******pppppppcStack_6c;
  code *******pppppppcStack_68;
  code *******local_24;
  code ******local_20;
  code *******local_1c;
  
  pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c;
  local_1c = *(code ********)PTR___stack_chk_guard_0015ba2c;
  if (param_2[0x12] == (code ******)0x0) {
    pppppppcVar24 = (code *******)param_2[10];
  }
  else {
    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);
  }
  if ((pppppppcVar24 == (code *******)0x0) ||
     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)) {
    pppppppcVar13 = param_2;
    if (param_2[0xe] == (code ******)0x0) {
      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);
      ppppppcVar7 = param_2[8];
      pppppppcVar6 = (code *******)param_2[9];
      if ((int)param_2[4] <= (int)ppppppcVar7) {
        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;
        param_4 = (code *******)((int)pppppppcVar6 + 1);
        if (param_2[5] <= pppppppcVar6) {
          iVar2 = 0;
          goto LAB_0011db18;
        }
      }
      param_4 = (code *******)((int)pppppppcVar6 + 1);
      param_2[9] = (code ******)param_4;
      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));
      iVar2 = FUN_0011c2d4(param_1);
      if (iVar2 == 0) {
        pppppppcVar24 = (code *******)param_2[10];
        goto LAB_0011d91c;
      }
    }
    else {
      param_1 = (code *******)*param_2[0xe];
      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);
      param_2[10] = (code ******)0x0;
      puVar32 = PTR_sqlite3_malloc_0015b640;
      if (param_1 == (code *******)0x0) {
LAB_0011da80:
        iVar2 = 0;
      }
      else {
        unaff_s4 = (code *******)param_1[2];
        ppppppcVar7 = *unaff_s4;
        param_2[0x10] = param_1[3];
        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);
        param_2[0xf] = param_1[4];
        iVar2 = (*(code *)puVar32)(pppppppcVar24);
        if (iVar2 != 0) {
          pppppppcVar13 = (code *******)unaff_s4[1];
          ppppppcVar7 = (code ******)
                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);
          iVar2 = 0;
          param_2[0x13] = (code ******)pppppppcVar24;
          param_2[0xb] = (code ******)pppppppcVar24;
          param_2[0x12] = ppppppcVar7;
          param_2[10] = ppppppcVar7;
          param_2[0xe] = param_2[0xe] + 1;
          goto LAB_0011db18;
        }
LAB_0011dbc4:
        iVar2 = 7;
      }
    }
  }
  else {
LAB_0011d91c:
    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);
    pppppppcVar13 = pppppppcVar24;
    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);
    if (iVar2 == 0) {
      if ((char)*(code *)pppppppcVar24 < '\0') {
        pppppppcVar13 = (code *******)&local_24;
        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);
      }
      else {
        iVar2 = 1;
        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;
      }
      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);
      if ((char)*pcVar25 < '\0') {
        pppppppcVar13 = &local_20;
        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);
      }
      else {
        iVar2 = 1;
        local_20 = (code ******)(uint)(byte)*pcVar25;
      }
      pppppppcVar24 = (code *******)(pcVar25 + iVar2);
      if (0 < (int)local_20) {
        iVar2 = 0x10b;
        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)
        goto LAB_0011db18;
        pppppppcVar6 = (code *******)param_2[0x11];
        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);
        if ((int)local_24 <= (int)pppppppcVar6) {
          param_4 = (code *******)((int)local_24 + (int)local_20);
          pcVar25 = (code *)((int)pppppppcVar13 +
                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));
          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);
          if ((pppppppcVar13 != (code *******)0x0) ||
             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {
            uVar18 = (uint)param_4 >> 0x1f;
            unaff_s4 = (code *******)((int)param_4 * 2);
            param_4 = unaff_s4;
            ppppppcVar7 = (code ******)
                          (*(code *)PTR_sqlite3_realloc64_0015b764)
                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)
            ;
            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;
            param_2[0x10] = ppppppcVar7;
            param_2[0x11] = (code ******)unaff_s4;
          }
          pppppppcVar13 = pppppppcVar24;
          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);
          if (iVar2 != 0) goto LAB_0011db18;
          pppppppcVar13 = pppppppcVar24;
          (*(code *)PTR_memcpy_0015ba30)
                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);
          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);
          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);
          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;
          if ((char)*pcVar25 < '\0') {
            pppppppcVar13 = param_2 + 0x13;
            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);
            ppppppcVar7 = param_2[0x13];
          }
          else {
            iVar2 = 1;
            param_2[0x13] = ppppppcVar7;
          }
          pppppppcVar24 = (code *******)(pcVar25 + iVar2);
          param_2[0x12] = (code ******)pppppppcVar24;
          param_2[0x14] = (code ******)0x0;
          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {
            iVar2 = 0;
            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;
            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);
            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;
          }
        }
      }
      iVar2 = 0x10b;
    }
  }
LAB_0011db18:
  if (local_1c == (code *******)*pppppppcVar26) {
    return iVar2;
  }
  pppppppcVar6 = local_1c;
  puVar32 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  puStack_108 = puVar32 + 0x45928;
  pppppppcStack_68 = unaff_s4;
  pppppppcStack_6c = param_1;
  puStack_70 = (undefined *)pppppppcVar26;
  pppppppcStack_74 = pppppppcVar24;
  pppppppcStack_78 = param_2;
  piStack_98 = *(int **)(puVar32 + 0x3dda4);
  pppppppcStack_c8 = pppppppcVar6;
  pppppppcStack_e0 = pppppppcVar13;
  piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4);
  pppppppcStack_a0 = (code *******)pppppppcVar13[1];
  pppppppcVar29 = param_1;
  if (*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0) {
    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);
    iVar2 = 0;
    if (pppppppcStack_a0 != (code *******)0x0) {
LAB_0011dd08:
      ppppppcStack_a4 = pppppppcVar13[3];
      unaff_s6 = pppppppcVar13[2];
      pppppcStack_94 = ppppppcStack_a4[3];
      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);
      pppppppcStack_f0 = (code *******)*pppppppcVar13;
      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);
      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);
      uStack_cc = (uint)pppppcStack_94 & 1;
      do {
        pppppppcVar6 = pppppppcStack_c8;
        pppppppcVar13 = pppppppcStack_e0;
        pppppppcVar24 = (code *******)0x0;
        param_2 = pppppppcStack_f0;
        pppppppcVar29 = param_1;
        if (0 < (int)unaff_s6) {
          do {
            pppppppcVar26 = pppppppcVar13;
            pppppppcVar29 = pppppppcVar6;
            if (*(char *)(*param_2 + 1) == '\0') {
              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);
              if (iVar2 != 0) goto LAB_0011ddb4;
            }
            else {
              (*pcStack_ac)();
            }
            unaff_s6 = pppppppcVar13[2];
            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);
            param_2 = param_2 + 1;
          } while ((int)pppppppcVar24 < (int)unaff_s6);
        }
        param_2 = pppppppcStack_f0;
        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);
        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);
        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);
        pppppppcStack_e0[2] = (code ******)0x0;
        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;
        pppppppcVar26 = (code *******)(*param_2)[0xf];
        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;
        param_2 = (code *******)(*param_2)[0x10];
        pppppppcStack_e0[10] = (code ******)param_2;
        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {
          iVar2 = 0;
          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||
             ((((uint)pppppcStack_94 & 8) == 0 &&
              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;
          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);
          if (iVar2 != 0) {
            iVar2 = 0;
            break;
          }
        }
        pppppppcVar13 = pppppppcStack_a0;
        if ((((int)pppppppcStack_a0 < 2) ||
            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||
           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {
LAB_0011df14:
          param_1 = pppppppcVar29;
          pppppppcVar13 = pppppppcStack_e0;
          if (((uint)pppppcStack_94 & 0x22) == 0) {
            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||
               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0
               )) {
              param_2 = (code *******)(*pppppppcStack_f0)[0x13];
              pppppppcStack_e0[0xd] = (code ******)param_2;
              ppppppcVar7 = *pppppppcStack_f0;
              pppppppcVar26 = pppppppcVar13;
              pppppppcVar29 = param_1;
              if (ppppppcVar7[0xe] == (code *****)0x0) {
                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];
              }
              else {
                pppppppcVar24 = (code *******)ppppppcVar7[0x12];
                ppppppcVar7 = pppppppcStack_e0[4];
                if ((int)pppppppcStack_e0[5] < (int)param_2) {
                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);
                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);
                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);
                  if (ppppppcVar7 == (code ******)0x0) {
                    iVar2 = 7;
                    pppppppcStack_e0[2] = (code ******)0x1;
                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];
                    break;
                  }
                  pppppppcVar13[4] = ppppppcVar7;
                }
                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);
                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];
              }
              iVar2 = 100;
              pppppppcStack_e0[2] = (code ******)0x1;
              break;
            }
          }
          else {
            iVar2 = *(int *)(puStack_108 + -0x7eb8);
          }
          unaff_s6 = (code ******)0x1;
          (*(code *)(iVar2 + 0x605c))();
        }
        else {
          pppppppcVar24 = pppppppcStack_f0 + 2;
          unaff_s6 = (code ******)0x1;
          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))
                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),
                param_1 = pppppppcStack_c8, iVar2 == 0) {
            unaff_s6 = (code ******)((int)unaff_s6 + 1);
            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||
                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||
               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))
            goto LAB_0011e64c;
          }
          pppppppcVar29 = pppppppcVar13;
          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;
LAB_0011e64c:
          iVar2 = *(int *)(puStack_108 + -0x7eb8);
          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;
          pppppppcVar26 = pppppppcStack_f0;
          do {
            ppppppcVar7 = *pppppppcVar26;
            pppppppcVar26 = pppppppcVar26 + 1;
            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);
          } while (pppppppcVar24 != pppppppcVar26);
        }
        pppppppcVar24 = pppppppcStack_f0;
        param_4 = pppppppcStack_c4;
        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);
        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {
          unaff_s8 = &ppppppcStack_8c;
          unaff_s7 = &ppppppcStack_90;
          pppppppcStack_dc = (code *******)0x0;
          pppppppcStack_d8 = (code *******)0x0;
          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);
          pppppppcStack_f4 = (code *******)0x0;
          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);
          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);
          uStack_b8 = (uint)pppppcStack_94 & 4;
          uStack_bc = (uint)pppppcStack_94 & 2;
          uStack_b4 = (uint)pppppcStack_94 & 0x20;
          pppppppcStack_d4 = unaff_s7;
          pppppppcStack_d0 = unaff_s8;
          do {
            param_1 = pppppppcStack_f0;
            ppppppcStack_90 = (code ******)0x0;
            ppppppcStack_8c = (code ******)0x0;
            ppppppcVar7 = *pppppppcStack_f0;
            pppppppcVar24 = (code *******)ppppppcVar7[0x16];
            param_2 = (code *******)ppppppcVar7[0x17];
            param_4 = pppppppcStack_d0;
            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);
            if (unaff_s6 == (code ******)0x1) {
              unaff_s5 = (code ******)0x1;
            }
            else {
              ppppppcVar7 = param_1[1];
              unaff_s5 = (code ******)0x1;
              if (((ppppppcVar7[0x14] != (code *****)0x0) &&
                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&
                 ((code *******)ppppppcVar7[0x17] == param_2)) {
                param_1 = param_1 + 2;
                while( true ) {
                  param_4 = (code *******)0x0;
                  unaff_s5 = (code ******)((int)unaff_s5 + 1);
                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);
                  if ((unaff_s5 == unaff_s6) ||
                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;
                  param_1 = param_1 + 1;
                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||
                     ((code *******)ppppppcVar7[0x17] != param_2)) break;
                }
              }
            }
            if (uStack_b8 != 0) {
              param_4 = pppppppcStack_d0;
              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);
            }
            pppppppcVar13 = pppppppcStack_e0;
            if ((uStack_bc == 0) ||
               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,
               0 < (int)ppppppcStack_8c)) {
              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {
                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);
                pppppppcVar29 =
                     (code *******)
                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));
                pppppppcStack_e8 = unaff_s4;
                if (((int)pppppppcVar29 < 1) &&
                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {
                  iVar2 = 0x10b;
                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;
LAB_0011e414:
                  iVar2 = 0x10b;
                  unaff_s4 = pppppppcStack_e8;
                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;
                  if (param_2 != pppppppcStack_e8) {
                    iVar2 = 0x10b;
                    goto LAB_0011ddb4;
                  }
                }
              }
              else if ((int)pppppppcStack_f4 < 1) {
                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);
                pppppppcVar29 =
                     (code *******)
                     ((int)pppppppcVar24 +
                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));
                if (((int)pppppppcVar29 < 1) &&
                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))
                   ) goto LAB_0011e414;
              }
              else {
                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);
                pppppppcVar29 =
                     (code *******)
                     ((int)pppppppcStack_dc +
                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));
                if (((int)pppppppcVar29 < 1) &&
                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0
                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;
              }
              unaff_s8 = pppppppcStack_e8;
              pppppppcVar6 = pppppppcStack_e8;
              pppppppcVar8 = pppppppcVar29;
              iVar2 = 0;
              do {
                iVar3 = iVar2;
                uVar18 = (int)pppppppcVar8 << 0x19;
                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);
                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);
                iVar2 = iVar3 + 1;
              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);
              if (uStack_cc != 0) {
                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;
              }
              ppppppcVar7 = pppppppcStack_e0[4];
              unaff_s4 = pppppppcStack_e8;
              unaff_s7 = pppppppcVar29;
              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {
                pcVar25 = *(code **)(puStack_108 + -0x7fc0);
                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);
                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);
                unaff_s4 = pppppppcVar13;
                if (ppppppcVar7 == (code ******)0x0) {
                  iVar2 = 7;
                  goto LAB_0011ddb4;
                }
                pppppppcVar13[4] = ppppppcVar7;
              }
              param_1 = pppppppcStack_e0;
              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);
              pcVar25 = pcVar27;
              pppppppcVar13 = unaff_s8;
              pcStack_ec = pcVar27;
              pppppppcVar6 = pppppppcVar24;
              if (uStack_b4 == 0) {
                do {
                  pcVar14 = pcVar25;
                  uVar18 = (int)unaff_s7 << 0x19;
                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);
                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);
                  bVar1 = (byte)pppppppcVar13;
                  *pcVar14 = (code)(bVar1 | 0x80);
                  pcVar25 = pcVar14 + 1;
                  pppppppcVar13 = unaff_s8;
                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);
                *pcVar14 = (code)(bVar1 & 0x7f);
                pppppppcVar13 =
                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));
                pppppppcStack_f4 = pppppppcVar13;
                pppppppcVar8 = param_2;
                if (uStack_cc != 0) {
                  (**(code **)(puStack_108 + -0x7b80))
                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90
                             ,ppppppcStack_8c);
                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0
                  ;
                  unaff_s4 = pppppppcVar13;
                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);
                  pppppppcVar8 = param_2;
                }
              }
              else {
                uVar18 = (uint)(char)*(code *)ppppppcStack_90;
                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);
                ppppppcVar7 = ppppppcStack_90;
                if (uVar18 == 1) {
                  pcVar25 = (code *)0x0;
                  param_1 = pppppppcVar29;
                  pppppppcVar6 = pppppppcStack_dc;
                  pppppppcVar8 = pppppppcStack_d8;
                  if (ppppppcStack_90 < ppppppcVar31) {
                    iStack_e4 = 0;
                    goto LAB_0011e284;
                  }
                }
                else {
                  pcVar25 = (code *)0x0;
                  pppppppcVar13 = pppppppcStack_e8;
                  pppppppcVar6 = pppppppcVar29;
                  pcVar14 = pcVar27;
                  if (uVar18 == 2) {
                    do {
                      pcVar25 = pcVar14;
                      uVar18 = (int)pppppppcVar6 << 0x19;
                      pcVar14 = pcVar25 + 1;
                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);
                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);
                      bVar1 = (byte)pppppppcVar13;
                      *pcVar25 = (code)(bVar1 | 0x80);
                      pppppppcVar13 = pppppppcVar8;
                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)
                    ;
                    *pcVar25 = (code)(bVar1 & 0x7f);
                    pcVar25 = pcVar14 + (1 - (int)pcVar27);
                    *pcVar14 = (code)0x2;
                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;
                    iStack_e4 = 1;
                    uVar17 = uVar18;
                  }
                  else {
                    iStack_e4 = 0;
                    uVar17 = uVar18;
                  }
                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {
                    uVar17 = uVar18 & 0xffffff80;
                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);
                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);
                  }
                  if (ppppppcVar7 < ppppppcVar31) {
LAB_0011e284:
                    unaff_s4 = &ppppppcStack_88;
                    unaff_s7 = (code *******)&SUB_00000002;
                    unaff_s8 = (code *******)0xffffff80;
                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);
                    pppppppcStack_a8 = pppppppcVar29;
                    do {
                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);
                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);
                      uVar18 = (uint)(char)*(code *)ppppppcVar7;
                      uVar17 = uVar18;
                      if (uVar18 == 2) {
                        pcVar21 = pcVar27 + (int)pcVar25;
                        pppppppcVar13 = pppppppcStack_e8;
                        pppppppcVar6 = pppppppcStack_a8;
                        pcVar14 = pcVar21;
                        if (iStack_e4 == 0) {
                          do {
                            pcVar20 = pcVar14;
                            uVar18 = (int)pppppppcVar6 << 0x19;
                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);
                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);
                            bVar1 = (byte)pppppppcVar13;
                            *pcVar20 = (code)(bVar1 | 0x80);
                            pppppppcVar13 = pppppppcVar29;
                            pcVar14 = pcVar20 + 1;
                          } while (pppppppcVar6 != (code *******)0x0 ||
                                   pppppppcVar29 != (code *******)0x0);
                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);
                          *pcVar20 = (code)(bVar1 & 0x7f);
                          pcVar21 = pcVar27 + (int)pcVar25;
                        }
                        pcVar20 = pcVar25 + 1;
                        *pcVar21 = (code)0x1;
                        uVar18 = uStack_84;
                        ppppppcVar10 = ppppppcStack_88;
                        pcVar14 = pcVar27 + (int)pcVar20;
                        do {
                          pcVar25 = pcVar14;
                          uVar17 = (int)ppppppcVar10 << 0x19;
                          pcVar14 = pcVar25 + 1;
                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);
                          uVar17 = uVar17 | uVar18 >> 7;
                          bVar1 = (byte)uVar18;
                          *pcVar25 = (code)(bVar1 | 0x80);
                          uVar18 = uVar17;
                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);
                        iStack_e4 = 1;
                        *pcVar25 = (code)(bVar1 & 0x7f);
                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;
                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =
                             (code)0x2;
                        uVar18 = (uint)(char)*(code *)ppppppcVar7;
                        uVar17 = uVar18;
                      }
                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {
                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);
                        uVar17 = uVar18 & 0xffffff80;
                        uVar18 = (uint)(char)*(code *)ppppppcVar7;
                      }
                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);
                      pppppppcVar13 = pppppppcVar29;
                    } while (ppppppcVar7 < ppppppcVar31);
                  }
                  if (iStack_e4 != 0) {
                    pcVar27 = pcStack_ec + (int)pcVar25;
                    pcVar25 = pcVar25 + 1;
                    *pcVar27 = (code)0x0;
                  }
                  param_1 = pppppppcVar29;
                  pppppppcVar6 = pppppppcStack_dc;
                  pppppppcVar8 = pppppppcStack_d8;
                  if (pcVar25 != (code *)0x0) {
                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);
                    pppppppcVar6 = pppppppcVar24;
                    pppppppcVar8 = param_2;
                  }
                }
              }
            }
            pppppppcStack_d8 = pppppppcVar8;
            pppppppcStack_dc = pppppppcVar6;
            param_2 = pppppppcStack_f0;
            param_4 = pppppppcStack_c4;
            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);
          } while ((*param_2)[0x14] != (code *****)0x0);
          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;
        }
        pppppppcStack_e0[2] = unaff_s6;
      } while( true );
    }
  }
  else {
    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);
    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;
LAB_0011de08:
    iVar2 = 0;
  }
LAB_0011ddb4:
  if (piStack_7c == (int *)*piStack_98) {
    return iVar2;
  }
  pcVar25 = *(code **)(puStack_108 + -0x7ba0);
  uVar34 = 0x11e6f8;
  piVar11 = piStack_7c;
  (*pcVar25)();
  piVar22 = *(int **)(pcVar25 + 0x3d334);
  iVar3 = piVar11[0x1a];
  uVar18 = piVar11[0x19] + 1;
  iVar2 = piVar11[0x1b];
  iVar15 = iVar3 + 1;
  iStack_144 = *piVar22;
  uVar12 = *(undefined4 *)(*piVar11 + 0xc);
  piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18];
  piVar11[0x19] = uVar18;
  piVar11[0x1a] = iVar15;
  pppppppcStack_140 = param_2;
  pppppppcStack_13c = pppppppcVar24;
  pppppppcStack_138 = pppppppcVar26;
  pppppppcStack_134 = pppppppcVar29;
  pppppppcStack_130 = unaff_s4;
  ppppppcStack_12c = unaff_s5;
  ppppppcStack_128 = unaff_s6;
  pppppppcStack_124 = unaff_s7;
  pppppppcStack_120 = unaff_s8;
  uStack_11c = uVar34;
  if (iVar15 < iVar2) {
    piVar16 = (int *)(iVar15 * 0x10);
    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);
    iVar15 = *piVar19;
    if (iVar15 < 1) {
      if ((iVar15 == 0) && (piVar19[1] != 0)) {
        iVar3 = 0;
      }
      else {
        iVar3 = iVar3 + 2;
        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;
        do {
          piVar11[0x1a] = iVar3;
          if (iVar3 == iVar2) goto LAB_0011e7d4;
          piVar16 = *(int **)(iVar15 + 0x20);
          iVar3 = iVar3 + 1;
          piVar19 = (int *)(iVar15 + 0x24);
          iVar15 = iVar15 + 0x10;
          if (0 < (int)piVar16) goto LAB_0011e880;
        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));
        iVar3 = 0;
      }
      goto LAB_0011e884;
    }
  }
  else {
LAB_0011e7d4:
    piVar16 = piVar11 + 1;
    iVar3 = FUN_0011dc88(uVar12);
    if (iVar3 != 100) {
      piVar11[0x16] = 1;
      goto LAB_0011e884;
    }
    if (piVar11[0x13] != 0) {
      iVar15 = piVar11[0xc];
      iVar3 = piVar11[0x14];
      piVar16 = (int *)piVar11[0xb];
      iVar2 = iVar15;
      if (iVar3 < iVar15) {
        iVar2 = iVar3;
      }
      iVar4 = (**(code **)(pcVar25 + 0x3d324))();
      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {
        iVar3 = 0;
        piVar11[0x16] = 1;
        goto LAB_0011e884;
      }
    }
    iVar2 = piVar11[0x1b];
    iVar3 = piVar11[0xe];
    iVar15 = piVar11[0xd];
    if (iVar2 < 2) {
      iVar2 = 2;
      piVar16 = piVar11 + 0x1c;
      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);
      if (iVar4 != 0) {
LAB_0011ec20:
        iVar3 = 7;
        goto LAB_0011e884;
      }
      iVar2 = piVar11[0x1b];
    }
    iVar2 = iVar2 << 4;
    piVar16 = (int *)0x0;
    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);
    if (0 < iVar3) {
      uStack_14c = 0;
      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);
      iStack_150 = 0;
      iVar4 = (*pcVar27)(iVar15,&iStack_150);
      iVar30 = *(int *)(pcVar25 + 0x3d024);
LAB_0011e97c:
      piVar9 = (int *)piVar11[0x1c];
      piVar19 = (int *)piVar9[1];
      iVar2 = *piVar9;
      piVar16 = (int *)((int)piVar19 + 1);
      piVar9[1] = (int)piVar16;
      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;
      if (iVar4 < iVar3) {
        uStack_14c = 0;
        iStack_150 = 0;
        piVar16 = &iStack_150;
        iVar33 = (*pcVar27)(iVar15 + iVar4);
        iVar33 = iVar33 + iVar4;
        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {
          iVar2 = piVar11[0x1c];
          uVar18 = *(uint *)(iVar2 + 0x14);
          uVar17 = uVar18 + 1;
          *(uint *)(iVar2 + 0x14) = uVar17;
          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);
          iVar2 = piVar11[0x1c];
          uVar18 = *(uint *)(iVar2 + 0x1c);
          uVar17 = uVar18 + 1;
          *(uint *)(iVar2 + 0x1c) = uVar17;
          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);
          iVar4 = piVar11[0x1c];
          piVar19 = *(int **)(iVar4 + 0xc);
          iVar2 = *(int *)(iVar4 + 8);
          piVar16 = (int *)((int)piVar19 + 1);
          *(int **)(iVar4 + 0xc) = piVar16;
          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;
          if (iVar33 < iVar3) {
            uStack_14c = 0;
            iStack_150 = 0;
            piVar16 = &iStack_150;
            iVar28 = (*pcVar27)(iVar15 + iVar33);
            iVar4 = 0x10;
            iVar33 = iVar33 + iVar28;
            goto LAB_0011eaec;
          }
          goto LAB_0011e87c;
        }
        if (iStack_150 != 0 || uStack_14c != 0) {
          if ((iStack_150 == 0) && (uStack_14c == 1)) {
            if (iVar33 < iVar3) {
              uStack_14c = 0;
              iStack_150 = 0;
              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);
              iVar33 = iVar33 + iVar2;
              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||
                     (piVar16 = piVar11 + 0x1c,
                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {
                iVar4 = (uVar18 + 1) * 0x10;
                piVar19 = (int *)(piVar11[0x1c] + iVar4);
                piVar9 = (int *)piVar19[1];
                iVar2 = *piVar19;
                piVar16 = (int *)((int)piVar9 + 1);
                piVar19[1] = (int)piVar16;
                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;
                while( true ) {
                  if (iVar3 <= iVar33) goto LAB_0011e87c;
                  uStack_14c = 0;
                  iStack_150 = 0;
                  piVar16 = &iStack_150;
                  iVar28 = (*pcVar27)(iVar15 + iVar33);
                  iVar33 = iVar33 + iVar28;
LAB_0011eaec:
                  if (iStack_150 == 0 && uStack_14c == 0) {
                    if (iVar3 <= iVar33) goto LAB_0011e87c;
                    uStack_14c = 0;
                    iStack_150 = 0;
                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);
                    iVar4 = iVar4 + iVar33;
                    goto LAB_0011e97c;
                  }
                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;
                  iVar2 = piVar11[0x1c] + iVar4;
                  uVar18 = *(uint *)(iVar2 + 0xc);
                  uVar17 = uVar18 + 1;
                  *(uint *)(iVar2 + 0xc) = uVar17;
                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);
                  iVar28 = piVar11[0x1c];
                  piVar19 = *(int **)(iVar28 + 0xc);
                  iVar2 = *(int *)(iVar28 + 8);
                  piVar16 = (int *)((int)piVar19 + 1);
                  *(int **)(iVar28 + 0xc) = piVar16;
                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;
                }
                if (iVar3 <= iVar33) goto LAB_0011e87c;
                uStack_14c = 0;
                iStack_150 = 0;
                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);
                iVar33 = iVar2 + iVar33;
              }
              goto LAB_0011ec20;
            }
          }
          else {
            iVar2 = piVar11[0x1c];
            uVar18 = *(uint *)(iVar2 + 0x1c);
            uVar17 = uVar18 + 1;
            *(uint *)(iVar2 + 0x1c) = uVar17;
            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);
            iVar4 = piVar11[0x1c];
            piVar19 = *(int **)(iVar4 + 0xc);
            iVar2 = *(int *)(iVar4 + 8);
            piVar16 = (int *)((int)piVar19 + 1);
            *(int **)(iVar4 + 0xc) = piVar16;
            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;
            if (iVar33 < iVar3) {
              uStack_14c = 0;
              iStack_150 = 0;
              piVar16 = &iStack_150;
              iVar28 = (*pcVar27)(iVar15 + iVar33);
              iVar4 = 0x10;
              iVar33 = iVar33 + iVar28;
              goto LAB_0011eaec;
            }
          }
          goto LAB_0011e87c;
        }
        if (iVar3 <= iVar33) goto LAB_0011e87c;
        uStack_14c = 0;
        iStack_150 = 0;
        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);
        iVar4 = iVar33 + iVar4;
        goto LAB_0011e97c;
      }
    }
LAB_0011e87c:
    piVar11[0x1a] = 0;
  }
LAB_0011e880:
  iVar3 = 0;
LAB_0011e884:
  if (iStack_144 == *piVar22) {
    return iVar3;
  }
  pcVar25 = *(code **)(pcVar25 + 0x3d318);
  iVar3 = iStack_144;
  (*pcVar25)();
  iVar15 = piVar16[1];
  if ((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)) {
    iVar33 = 0;
    iVar30 = *(int *)(pcVar25 + 0x3ca14);
    do {
      iVar28 = 0;
      iVar23 = *(int *)(*piVar16 + iVar33 * 4);
      do {
        iVar5 = FUN_0011d8a8(iVar3,iVar23);
        if (iVar5 != 0) {
          return iVar5;
        }
      } while ((iVar2 != 0) &&
              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));
      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {
        (*(code *)(iVar4 + 0x5384))(iVar23);
      }
      iVar33 = iVar33 + 1;
    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));
  }
  (*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))
            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638);
  return 0;
LAB_0011e6ac:
  iVar2 = 100;
  pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4;
  pppppppcStack_e0[2] = unaff_s6;
  pppppppcStack_e0[0xc] = pppppppcStack_e0[4];
  pppppppcVar29 = param_1;
  goto LAB_0011ddb4;
}


lui gp,0x4
addiu gp,gp,0x5d08
addu gp,gp,t9
addiu sp,sp,-0x50
sw s2,0x40(sp)
sw s3,0x44(sp)
or s3,a0,zero
sw s0,0x38(sp)
or s0,a1,zero
sw gp,0x20(sp)
sw ra,0x4c(sp)
sw s4,0x48(sp)
sw s1,0x3c(sp)
lw s2,-0x7b84(gp)
lw s1,0x48(a1)
lw v0,0x0(s2)
sw v0,0x34(sp)
beq s1,zero,0x0011db44
_nop
lw v0,0x4c(a1)
addu s1,s1,v0
beq s1,zero,0x0011da88
_nop
lw v0,0x28(s0)
lw v1,0x2c(s0)
addu v0,v0,v1
sltu v0,s1,v0
beq v0,zero,0x0011da88
_nop
lw s3,-0x7eb8(gp)
li a2,0x14
or a1,s1,zero
addiu s3,s3,0x5f80
or t9,s3,zero
jalr t9
_or a0,s0,zero
bne v0,zero,0x0011db18
_lw gp,0x20(sp)
lbu v1,0x0(s1)
seb v0,v1
bltz v0,0x0011dc28
_lw t9,-0x7f54(gp)
li v0,0x1
sw v1,0x2c(sp)
addu s1,s1,v0
lbu a2,0x0(s1)
seb v0,a2
bltz v0,0x0011dc0c
_lw t9,-0x7f54(gp)
li v0,0x1
sw a2,0x30(sp)
blez a2,0x0011dbbc
_addu s1,s1,v0
lw v0,0x28(s0)
lw v1,0x2c(s0)
addu v0,v0,v1
subu v0,v0,s1
slt v0,v0,a2
bne v0,zero,0x0011db18
_li v0,0x10b
lw v1,0x44(s0)
lw v0,0x2c(sp)
slt a0,v1,v0
bne a0,zero,0x0011dbbc
_sra a1,v0,0x1f
sra a0,a2,0x1f
addu a3,v0,a2
addu a0,a1,a0
sltu v0,a3,v0
addu v0,v0,a0
sra a0,v1,0x1f
slt a1,a0,v0
bne a1,zero,0x0011dbd8
_lw t9,-0x7e4c(gp)
beq v0,a0,0x0011dbcc
_sltu v1,v1,a3
addiu a2,a2,0xa
or a1,s1,zero
or t9,s3,zero
jalr t9
_or a0,s0,zero
bne v0,zero,0x0011db18
_lw gp,0x20(sp)
lw a0,0x40(s0)
or a1,s1,zero
lw v0,0x2c(sp)
lw t9,-0x7b80(gp)
lw a2,0x30(sp)
jalr t9
_addu a0,a0,v0
lw v1,0x30(sp)
lw v0,0x2c(sp)
lw gp,0x20(sp)
addu s1,s1,v1
addu v0,v0,v1
sw v0,0x3c(s0)
lbu v1,0x0(s1)
seb v0,v1
bltz v0,0x0011dc60
_lw t9,-0x7f54(gp)
li v0,0x1
sw v1,0x4c(s0)
lw a0,0x28(s0)
addu s1,s1,v0
lw v0,0x2c(s0)
sw s1,0x48(s0)
subu a0,s1,a0
subu v0,v0,a0
slt v0,v0,v1
bne v0,zero,0x0011dbbc
_sw zero,0x50(s0)
lw v0,0x30(s0)
bne v0,zero,0x0011db18
_or v0,zero,zero
addu s1,s1,v1
lb v0,-0x1(s1)
bne v0,zero,0x0011dbbc
_nop
b 0x0011db18
_or v0,zero,zero
lw v0,0x38(s0)
beq v0,zero,0x0011db4c
_lw t9,-0x7f90(gp)
lw s3,0x0(v0)
jalr t9
_lw a0,0x28(s0)
lw gp,0x20(sp)
beq s3,zero,0x0011da80
_sw zero,0x28(s0)
lw s4,0x8(s3)
lw v0,0xc(s3)
lw t9,-0x7f70(gp)
lw s1,0x0(s4)
sw v0,0x40(s0)
lw v0,0x10(s3)
addiu s1,s1,0x1
sw v0,0x3c(s0)
jalr t9
_or a0,s1,zero
beq v0,zero,0x0011dbc4
_lw gp,0x20(sp)
lw t9,-0x7b80(gp)
or a0,v0,zero
lw a1,0x4(s4)
jalr t9
_or a2,s1,zero
lw a0,0x38(s0)
or v1,v0,zero
or v0,zero,zero
lw gp,0x20(sp)
sw s1,0x4c(s0)
addiu a0,a0,0x4
sw s1,0x2c(s0)
sw v1,0x48(s0)
sw v1,0x28(s0)
sw a0,0x38(s0)
lw a0,0x34(sp)
lw v1,0x0(s2)
bne a0,v1,0x0011dc7c
_lw ra,0x4c(sp)
lw s4,0x48(sp)
lw s3,0x44(sp)
lw s2,0x40(sp)
lw s1,0x3c(sp)
lw s0,0x38(sp)
jr ra
_addiu sp,sp,0x50
b 0x0011d8fc
_lw s1,0x28(a1)
lw t9,-0x7eb8(gp)
addiu t9,t9,0x5384
jalr t9
_or a0,s0,zero
lw a2,0x20(s0)
lw v1,0x10(s0)
lw gp,0x20(sp)
slt a0,a2,v1
beq a0,zero,0x0011dc40
_lw v0,0x24(s0)
addiu a3,v0,0x1
lw t9,-0x7edc(gp)
addiu v1,s0,0x2c
sw zero,0x18(sp)
sltu v0,a3,v0
sw a3,0x24(s0)
addu a2,v0,a2
sw v1,0x14(sp)
addiu v0,s0,0x28
addiu t9,t9,-0x3d2c
sw a2,0x20(s0)
or a0,s3,zero
bal 0x0011c2d4
_sw v0,0x10(sp)
bne v0,zero,0x0011db18
_lw gp,0x20(sp)
b 0x0011d91c
_lw s1,0x28(s0)
b 0x0011db18
_li v0,0x10b
b 0x0011db18
_li v0,0x7
beq v1,zero,0x0011d9dc
_addiu a2,a2,0xa
lw t9,-0x7e4c(gp)
srl a2,a3,0x1f
sll v0,v0,0x1
lw a0,0x40(s0)
sll s4,a3,0x1
or a2,a2,v0
jalr t9
_or a3,s4,zero
beq v0,zero,0x0011dbc4
_lw gp,0x20(sp)
lw a2,0x30(sp)
sw v0,0x40(s0)
b 0x0011d9d8
_sw s4,0x44(s0)
addiu a1,sp,0x30
addiu t9,t9,0x1084
jalr t9
_or a0,s1,zero
lw gp,0x20(sp)
b 0x0011d974
_lw a2,0x30(sp)
addiu a1,sp,0x2c
addiu t9,t9,0x1084
jalr t9
_or a0,s1,zero
b 0x0011d958
_lw gp,0x20(sp)
bne v1,a2,0x0011da80
_nop
lw v1,0x14(s0)
sltu v1,v0,v1
bne v1,zero,0x0011db78
_addiu a3,v0,0x1
b 0x0011db18
_or v0,zero,zero
addiu a1,s0,0x4c
addiu t9,t9,0x1084
jalr t9
_or a0,s1,zero
lw gp,0x20(sp)
b 0x0011da40
_lw v1,0x4c(s0)
lw t9,-0x7ba0(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nint FUN_0011d8a8(code *******param_1,code *******param_2,undefined4 param_3,code *******param_4)\n\n{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  code *******pppppppcVar6;\n  code ******ppppppcVar7;\n  code *******pppppppcVar8;\n  int *piVar9;\n  code ******ppppppcVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  code *******pppppppcVar13;\n  code *pcVar14;\n  int iVar15;\n  int *piVar16;\n  uint uVar17;\n  uint uVar18;\n  int *piVar19;\n  code *pcVar20;\n  code *pcVar21;\n  int *piVar22;\n  int iVar23;\n  code *******pppppppcVar24;\n  code *pcVar25;\n  code *******pppppppcVar26;\n  code *pcVar27;\n  int iVar28;\n  code *******pppppppcVar29;\n  code *******unaff_s4;\n  int iVar30;\n  code ******unaff_s5;\n  code ******unaff_s6;\n  code *******unaff_s7;\n  code ******ppppppcVar31;\n  undefined *puVar32;\n  code *******unaff_s8;\n  int iVar33;\n  undefined4 uVar34;\n  int iStack_150;\n  uint uStack_14c;\n  int iStack_144;\n  code *******pppppppcStack_140;\n  code *******pppppppcStack_13c;\n  code *******pppppppcStack_138;\n  code *******pppppppcStack_134;\n  code *******pppppppcStack_130;\n  code ******ppppppcStack_12c;\n  code ******ppppppcStack_128;\n  code *******pppppppcStack_124;\n  code *******pppppppcStack_120;\n  undefined4 uStack_11c;\n  undefined *puStack_108;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *******pppppppcStack_f4;\n  code *******pppppppcStack_f0;\n  code *pcStack_ec;\n  code *******pppppppcStack_e8;\n  int iStack_e4;\n  code *******pppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  uint uStack_cc;\n  code *******pppppppcStack_c8;\n  code *******pppppppcStack_c4;\n  code *pcStack_c0;\n  uint uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  code *pcStack_b0;\n  code *pcStack_ac;\n  code *******pppppppcStack_a8;\n  code ******ppppppcStack_a4;\n  code *******pppppppcStack_a0;\n  code *pcStack_9c;\n  int *piStack_98;\n  code *****pppppcStack_94;\n  code ******ppppppcStack_90;\n  code ******ppppppcStack_8c;\n  code ******ppppppcStack_88;\n  uint uStack_84;\n  int *piStack_7c;\n  code *******pppppppcStack_78;\n  code *******pppppppcStack_74;\n  undefined *puStack_70;\n  code *******pppppppcStack_6c;\n  code *******pppppppcStack_68;\n  code *******local_24;\n  code ******local_20;\n  code *******local_1c;\n  \n  pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c;\n  local_1c = *(code ********)PTR___stack_chk_guard_0015ba2c;\n  if (param_2[0x12] == (code ******)0x0) {\n    pppppppcVar24 = (code *******)param_2[10];\n  }\n  else {\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }\n  if ((pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)) {\n    pppppppcVar13 = param_2;\n    if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }\nLAB_0011db18:\n  if (local_1c == (code *******)*pppppppcVar26) {\n    return iVar2;\n  }\n  pppppppcVar6 = local_1c;\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_108 = puVar32 + 0x45928;\n  pppppppcStack_68 = unaff_s4;\n  pppppppcStack_6c = param_1;\n  puStack_70 = (undefined *)pppppppcVar26;\n  pppppppcStack_74 = pppppppcVar24;\n  pppppppcStack_78 = param_2;\n  piStack_98 = *(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_c8 = pppppppcVar6;\n  pppppppcStack_e0 = pppppppcVar13;\n  piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_a0 = (code *******)pppppppcVar13[1];\n  pppppppcVar29 = param_1;\n  if (*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0) {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar2 = 0;\n    if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }\nLAB_0011ddb4:\n  if (piStack_7c == (int *)*piStack_98) {\n    return iVar2;\n  }\n  pcVar25 = *(code **)(puStack_108 + -0x7ba0);\n  uVar34 = 0x11e6f8;\n  piVar11 = piStack_7c;\n  (*pcVar25)();\n  piVar22 = *(int **)(pcVar25 + 0x3d334);\n  iVar3 = piVar11[0x1a];\n  uVar18 = piVar11[0x19] + 1;\n  iVar2 = piVar11[0x1b];\n  iVar15 = iVar3 + 1;\n  iStack_144 = *piVar22;\n  uVar12 = *(undefined4 *)(*piVar11 + 0xc);\n  piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18];\n  piVar11[0x19] = uVar18;\n  piVar11[0x1a] = iVar15;\n  pppppppcStack_140 = param_2;\n  pppppppcStack_13c = pppppppcVar24;\n  pppppppcStack_138 = pppppppcVar26;\n  pppppppcStack_134 = pppppppcVar29;\n  pppppppcStack_130 = unaff_s4;\n  ppppppcStack_12c = unaff_s5;\n  ppppppcStack_128 = unaff_s6;\n  pppppppcStack_124 = unaff_s7;\n  pppppppcStack_120 = unaff_s8;\n  uStack_11c = uVar34;\n  if (iVar15 < iVar2) {\n    piVar16 = (int *)(iVar15 * 0x10);\n    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);\n    iVar15 = *piVar19;\n    if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }\nLAB_0011e880:\n  iVar3 = 0;\nLAB_0011e884:\n  if (iStack_144 == *piVar22) {\n    return iVar3;\n  }\n  pcVar25 = *(code **)(pcVar25 + 0x3d318);\n  iVar3 = iStack_144;\n  (*pcVar25)();\n  iVar15 = piVar16[1];\n  if ((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)) {\n    iVar33 = 0;\n    iVar30 = *(int *)(pcVar25 + 0x3ca14);\n    do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));\n  }\n  (*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))\n            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638);\n  return 0;\nLAB_0011e6ac:\n  iVar2 = 100;\n  pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4;\n  pppppppcStack_e0[2] = unaff_s6;\n  pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n  pppppppcVar29 = param_1;\n  goto LAB_0011ddb4;\n}\n\n" comment (function_definition "int FUN_0011d8a8(code *******param_1,code *******param_2,undefined4 param_3,code *******param_4)\n\n{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  code *******pppppppcVar6;\n  code ******ppppppcVar7;\n  code *******pppppppcVar8;\n  int *piVar9;\n  code ******ppppppcVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  code *******pppppppcVar13;\n  code *pcVar14;\n  int iVar15;\n  int *piVar16;\n  uint uVar17;\n  uint uVar18;\n  int *piVar19;\n  code *pcVar20;\n  code *pcVar21;\n  int *piVar22;\n  int iVar23;\n  code *******pppppppcVar24;\n  code *pcVar25;\n  code *******pppppppcVar26;\n  code *pcVar27;\n  int iVar28;\n  code *******pppppppcVar29;\n  code *******unaff_s4;\n  int iVar30;\n  code ******unaff_s5;\n  code ******unaff_s6;\n  code *******unaff_s7;\n  code ******ppppppcVar31;\n  undefined *puVar32;\n  code *******unaff_s8;\n  int iVar33;\n  undefined4 uVar34;\n  int iStack_150;\n  uint uStack_14c;\n  int iStack_144;\n  code *******pppppppcStack_140;\n  code *******pppppppcStack_13c;\n  code *******pppppppcStack_138;\n  code *******pppppppcStack_134;\n  code *******pppppppcStack_130;\n  code ******ppppppcStack_12c;\n  code ******ppppppcStack_128;\n  code *******pppppppcStack_124;\n  code *******pppppppcStack_120;\n  undefined4 uStack_11c;\n  undefined *puStack_108;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *******pppppppcStack_f4;\n  code *******pppppppcStack_f0;\n  code *pcStack_ec;\n  code *******pppppppcStack_e8;\n  int iStack_e4;\n  code *******pppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  uint uStack_cc;\n  code *******pppppppcStack_c8;\n  code *******pppppppcStack_c4;\n  code *pcStack_c0;\n  uint uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  code *pcStack_b0;\n  code *pcStack_ac;\n  code *******pppppppcStack_a8;\n  code ******ppppppcStack_a4;\n  code *******pppppppcStack_a0;\n  code *pcStack_9c;\n  int *piStack_98;\n  code *****pppppcStack_94;\n  code ******ppppppcStack_90;\n  code ******ppppppcStack_8c;\n  code ******ppppppcStack_88;\n  uint uStack_84;\n  int *piStack_7c;\n  code *******pppppppcStack_78;\n  code *******pppppppcStack_74;\n  undefined *puStack_70;\n  code *******pppppppcStack_6c;\n  code *******pppppppcStack_68;\n  code *******local_24;\n  code ******local_20;\n  code *******local_1c;\n  \n  pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c;\n  local_1c = *(code ********)PTR___stack_chk_guard_0015ba2c;\n  if (param_2[0x12] == (code ******)0x0) {\n    pppppppcVar24 = (code *******)param_2[10];\n  }\n  else {\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }\n  if ((pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)) {\n    pppppppcVar13 = param_2;\n    if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }\nLAB_0011db18:\n  if (local_1c == (code *******)*pppppppcVar26) {\n    return iVar2;\n  }\n  pppppppcVar6 = local_1c;\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_108 = puVar32 + 0x45928;\n  pppppppcStack_68 = unaff_s4;\n  pppppppcStack_6c = param_1;\n  puStack_70 = (undefined *)pppppppcVar26;\n  pppppppcStack_74 = pppppppcVar24;\n  pppppppcStack_78 = param_2;\n  piStack_98 = *(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_c8 = pppppppcVar6;\n  pppppppcStack_e0 = pppppppcVar13;\n  piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_a0 = (code *******)pppppppcVar13[1];\n  pppppppcVar29 = param_1;\n  if (*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0) {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar2 = 0;\n    if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }\nLAB_0011ddb4:\n  if (piStack_7c == (int *)*piStack_98) {\n    return iVar2;\n  }\n  pcVar25 = *(code **)(puStack_108 + -0x7ba0);\n  uVar34 = 0x11e6f8;\n  piVar11 = piStack_7c;\n  (*pcVar25)();\n  piVar22 = *(int **)(pcVar25 + 0x3d334);\n  iVar3 = piVar11[0x1a];\n  uVar18 = piVar11[0x19] + 1;\n  iVar2 = piVar11[0x1b];\n  iVar15 = iVar3 + 1;\n  iStack_144 = *piVar22;\n  uVar12 = *(undefined4 *)(*piVar11 + 0xc);\n  piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18];\n  piVar11[0x19] = uVar18;\n  piVar11[0x1a] = iVar15;\n  pppppppcStack_140 = param_2;\n  pppppppcStack_13c = pppppppcVar24;\n  pppppppcStack_138 = pppppppcVar26;\n  pppppppcStack_134 = pppppppcVar29;\n  pppppppcStack_130 = unaff_s4;\n  ppppppcStack_12c = unaff_s5;\n  ppppppcStack_128 = unaff_s6;\n  pppppppcStack_124 = unaff_s7;\n  pppppppcStack_120 = unaff_s8;\n  uStack_11c = uVar34;\n  if (iVar15 < iVar2) {\n    piVar16 = (int *)(iVar15 * 0x10);\n    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);\n    iVar15 = *piVar19;\n    if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }\nLAB_0011e880:\n  iVar3 = 0;\nLAB_0011e884:\n  if (iStack_144 == *piVar22) {\n    return iVar3;\n  }\n  pcVar25 = *(code **)(pcVar25 + 0x3d318);\n  iVar3 = iStack_144;\n  (*pcVar25)();\n  iVar15 = piVar16[1];\n  if ((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)) {\n    iVar33 = 0;\n    iVar30 = *(int *)(pcVar25 + 0x3ca14);\n    do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));\n  }\n  (*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))\n            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638);\n  return 0;\nLAB_0011e6ac:\n  iVar2 = 100;\n  pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4;\n  pppppppcStack_e0[2] = unaff_s6;\n  pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n  pppppppcVar29 = param_1;\n  goto LAB_0011ddb4;\n}" primitive_type (function_declarator "FUN_0011d8a8(code *******param_1,code *******param_2,undefined4 param_3,code *******param_4)" identifier (parameter_list "(code *******param_1,code *******param_2,undefined4 param_3,code *******param_4)" ( (parameter_declaration "code *******param_1" type_identifier (pointer_declarator "*******param_1" * (pointer_declarator "******param_1" * (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (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" * (pointer_declarator "*param_2" * identifier)))))))) , (parameter_declaration "undefined4 param_3" type_identifier 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" * (pointer_declarator "*param_4" * identifier)))))))) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  code *******pppppppcVar6;\n  code ******ppppppcVar7;\n  code *******pppppppcVar8;\n  int *piVar9;\n  code ******ppppppcVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  code *******pppppppcVar13;\n  code *pcVar14;\n  int iVar15;\n  int *piVar16;\n  uint uVar17;\n  uint uVar18;\n  int *piVar19;\n  code *pcVar20;\n  code *pcVar21;\n  int *piVar22;\n  int iVar23;\n  code *******pppppppcVar24;\n  code *pcVar25;\n  code *******pppppppcVar26;\n  code *pcVar27;\n  int iVar28;\n  code *******pppppppcVar29;\n  code *******unaff_s4;\n  int iVar30;\n  code ******unaff_s5;\n  code ******unaff_s6;\n  code *******unaff_s7;\n  code ******ppppppcVar31;\n  undefined *puVar32;\n  code *******unaff_s8;\n  int iVar33;\n  undefined4 uVar34;\n  int iStack_150;\n  uint uStack_14c;\n  int iStack_144;\n  code *******pppppppcStack_140;\n  code *******pppppppcStack_13c;\n  code *******pppppppcStack_138;\n  code *******pppppppcStack_134;\n  code *******pppppppcStack_130;\n  code ******ppppppcStack_12c;\n  code ******ppppppcStack_128;\n  code *******pppppppcStack_124;\n  code *******pppppppcStack_120;\n  undefined4 uStack_11c;\n  undefined *puStack_108;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *******pppppppcStack_f4;\n  code *******pppppppcStack_f0;\n  code *pcStack_ec;\n  code *******pppppppcStack_e8;\n  int iStack_e4;\n  code *******pppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  uint uStack_cc;\n  code *******pppppppcStack_c8;\n  code *******pppppppcStack_c4;\n  code *pcStack_c0;\n  uint uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  code *pcStack_b0;\n  code *pcStack_ac;\n  code *******pppppppcStack_a8;\n  code ******ppppppcStack_a4;\n  code *******pppppppcStack_a0;\n  code *pcStack_9c;\n  int *piStack_98;\n  code *****pppppcStack_94;\n  code ******ppppppcStack_90;\n  code ******ppppppcStack_8c;\n  code ******ppppppcStack_88;\n  uint uStack_84;\n  int *piStack_7c;\n  code *******pppppppcStack_78;\n  code *******pppppppcStack_74;\n  undefined *puStack_70;\n  code *******pppppppcStack_6c;\n  code *******pppppppcStack_68;\n  code *******local_24;\n  code ******local_20;\n  code *******local_1c;\n  \n  pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c;\n  local_1c = *(code ********)PTR___stack_chk_guard_0015ba2c;\n  if (param_2[0x12] == (code ******)0x0) {\n    pppppppcVar24 = (code *******)param_2[10];\n  }\n  else {\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }\n  if ((pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)) {\n    pppppppcVar13 = param_2;\n    if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }\nLAB_0011db18:\n  if (local_1c == (code *******)*pppppppcVar26) {\n    return iVar2;\n  }\n  pppppppcVar6 = local_1c;\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_108 = puVar32 + 0x45928;\n  pppppppcStack_68 = unaff_s4;\n  pppppppcStack_6c = param_1;\n  puStack_70 = (undefined *)pppppppcVar26;\n  pppppppcStack_74 = pppppppcVar24;\n  pppppppcStack_78 = param_2;\n  piStack_98 = *(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_c8 = pppppppcVar6;\n  pppppppcStack_e0 = pppppppcVar13;\n  piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_a0 = (code *******)pppppppcVar13[1];\n  pppppppcVar29 = param_1;\n  if (*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0) {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar2 = 0;\n    if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }\nLAB_0011ddb4:\n  if (piStack_7c == (int *)*piStack_98) {\n    return iVar2;\n  }\n  pcVar25 = *(code **)(puStack_108 + -0x7ba0);\n  uVar34 = 0x11e6f8;\n  piVar11 = piStack_7c;\n  (*pcVar25)();\n  piVar22 = *(int **)(pcVar25 + 0x3d334);\n  iVar3 = piVar11[0x1a];\n  uVar18 = piVar11[0x19] + 1;\n  iVar2 = piVar11[0x1b];\n  iVar15 = iVar3 + 1;\n  iStack_144 = *piVar22;\n  uVar12 = *(undefined4 *)(*piVar11 + 0xc);\n  piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18];\n  piVar11[0x19] = uVar18;\n  piVar11[0x1a] = iVar15;\n  pppppppcStack_140 = param_2;\n  pppppppcStack_13c = pppppppcVar24;\n  pppppppcStack_138 = pppppppcVar26;\n  pppppppcStack_134 = pppppppcVar29;\n  pppppppcStack_130 = unaff_s4;\n  ppppppcStack_12c = unaff_s5;\n  ppppppcStack_128 = unaff_s6;\n  pppppppcStack_124 = unaff_s7;\n  pppppppcStack_120 = unaff_s8;\n  uStack_11c = uVar34;\n  if (iVar15 < iVar2) {\n    piVar16 = (int *)(iVar15 * 0x10);\n    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);\n    iVar15 = *piVar19;\n    if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }\nLAB_0011e880:\n  iVar3 = 0;\nLAB_0011e884:\n  if (iStack_144 == *piVar22) {\n    return iVar3;\n  }\n  pcVar25 = *(code **)(pcVar25 + 0x3d318);\n  iVar3 = iStack_144;\n  (*pcVar25)();\n  iVar15 = piVar16[1];\n  if ((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)) {\n    iVar33 = 0;\n    iVar30 = *(int *)(pcVar25 + 0x3ca14);\n    do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));\n  }\n  (*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))\n            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638);\n  return 0;\nLAB_0011e6ac:\n  iVar2 = 100;\n  pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4;\n  pppppppcStack_e0[2] = unaff_s6;\n  pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n  pppppppcVar29 = param_1;\n  goto LAB_0011ddb4;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "code *******pppppppcVar6;" type_identifier (pointer_declarator "*******pppppppcVar6" * (pointer_declarator "******pppppppcVar6" * (pointer_declarator "*****pppppppcVar6" * (pointer_declarator "****pppppppcVar6" * (pointer_declarator "***pppppppcVar6" * (pointer_declarator "**pppppppcVar6" * (pointer_declarator "*pppppppcVar6" * identifier))))))) ;) (declaration "code ******ppppppcVar7;" type_identifier (pointer_declarator "******ppppppcVar7" * (pointer_declarator "*****ppppppcVar7" * (pointer_declarator "****ppppppcVar7" * (pointer_declarator "***ppppppcVar7" * (pointer_declarator "**ppppppcVar7" * (pointer_declarator "*ppppppcVar7" * identifier)))))) ;) (declaration "code *******pppppppcVar8;" type_identifier (pointer_declarator "*******pppppppcVar8" * (pointer_declarator "******pppppppcVar8" * (pointer_declarator "*****pppppppcVar8" * (pointer_declarator "****pppppppcVar8" * (pointer_declarator "***pppppppcVar8" * (pointer_declarator "**pppppppcVar8" * (pointer_declarator "*pppppppcVar8" * identifier))))))) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "code ******ppppppcVar10;" type_identifier (pointer_declarator "******ppppppcVar10" * (pointer_declarator "*****ppppppcVar10" * (pointer_declarator "****ppppppcVar10" * (pointer_declarator "***ppppppcVar10" * (pointer_declarator "**ppppppcVar10" * (pointer_declarator "*ppppppcVar10" * identifier)))))) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "code *******pppppppcVar13;" type_identifier (pointer_declarator "*******pppppppcVar13" * (pointer_declarator "******pppppppcVar13" * (pointer_declarator "*****pppppppcVar13" * (pointer_declarator "****pppppppcVar13" * (pointer_declarator "***pppppppcVar13" * (pointer_declarator "**pppppppcVar13" * (pointer_declarator "*pppppppcVar13" * identifier))))))) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "code *pcVar21;" type_identifier (pointer_declarator "*pcVar21" * identifier) ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "code *******pppppppcVar24;" type_identifier (pointer_declarator "*******pppppppcVar24" * (pointer_declarator "******pppppppcVar24" * (pointer_declarator "*****pppppppcVar24" * (pointer_declarator "****pppppppcVar24" * (pointer_declarator "***pppppppcVar24" * (pointer_declarator "**pppppppcVar24" * (pointer_declarator "*pppppppcVar24" * identifier))))))) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "code *******pppppppcVar26;" type_identifier (pointer_declarator "*******pppppppcVar26" * (pointer_declarator "******pppppppcVar26" * (pointer_declarator "*****pppppppcVar26" * (pointer_declarator "****pppppppcVar26" * (pointer_declarator "***pppppppcVar26" * (pointer_declarator "**pppppppcVar26" * (pointer_declarator "*pppppppcVar26" * identifier))))))) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "code *******pppppppcVar29;" type_identifier (pointer_declarator "*******pppppppcVar29" * (pointer_declarator "******pppppppcVar29" * (pointer_declarator "*****pppppppcVar29" * (pointer_declarator "****pppppppcVar29" * (pointer_declarator "***pppppppcVar29" * (pointer_declarator "**pppppppcVar29" * (pointer_declarator "*pppppppcVar29" * identifier))))))) ;) (declaration "code *******unaff_s4;" type_identifier (pointer_declarator "*******unaff_s4" * (pointer_declarator "******unaff_s4" * (pointer_declarator "*****unaff_s4" * (pointer_declarator "****unaff_s4" * (pointer_declarator "***unaff_s4" * (pointer_declarator "**unaff_s4" * (pointer_declarator "*unaff_s4" * identifier))))))) ;) (declaration "int iVar30;" primitive_type 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 ******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" * (pointer_declarator "*unaff_s7" * 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 "undefined *puVar32;" type_identifier (pointer_declarator "*puVar32" * 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" * (pointer_declarator "*unaff_s8" * identifier))))))) ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "undefined4 uVar34;" type_identifier identifier ;) (declaration "int iStack_150;" primitive_type identifier ;) (declaration "uint uStack_14c;" type_identifier identifier ;) (declaration "int iStack_144;" primitive_type identifier ;) (declaration "code *******pppppppcStack_140;" type_identifier (pointer_declarator "*******pppppppcStack_140" * (pointer_declarator "******pppppppcStack_140" * (pointer_declarator "*****pppppppcStack_140" * (pointer_declarator "****pppppppcStack_140" * (pointer_declarator "***pppppppcStack_140" * (pointer_declarator "**pppppppcStack_140" * (pointer_declarator "*pppppppcStack_140" * identifier))))))) ;) (declaration "code *******pppppppcStack_13c;" type_identifier (pointer_declarator "*******pppppppcStack_13c" * (pointer_declarator "******pppppppcStack_13c" * (pointer_declarator "*****pppppppcStack_13c" * (pointer_declarator "****pppppppcStack_13c" * (pointer_declarator "***pppppppcStack_13c" * (pointer_declarator "**pppppppcStack_13c" * (pointer_declarator "*pppppppcStack_13c" * identifier))))))) ;) (declaration "code *******pppppppcStack_138;" type_identifier (pointer_declarator "*******pppppppcStack_138" * (pointer_declarator "******pppppppcStack_138" * (pointer_declarator "*****pppppppcStack_138" * (pointer_declarator "****pppppppcStack_138" * (pointer_declarator "***pppppppcStack_138" * (pointer_declarator "**pppppppcStack_138" * (pointer_declarator "*pppppppcStack_138" * identifier))))))) ;) (declaration "code *******pppppppcStack_134;" type_identifier (pointer_declarator "*******pppppppcStack_134" * (pointer_declarator "******pppppppcStack_134" * (pointer_declarator "*****pppppppcStack_134" * (pointer_declarator "****pppppppcStack_134" * (pointer_declarator "***pppppppcStack_134" * (pointer_declarator "**pppppppcStack_134" * (pointer_declarator "*pppppppcStack_134" * identifier))))))) ;) (declaration "code *******pppppppcStack_130;" type_identifier (pointer_declarator "*******pppppppcStack_130" * (pointer_declarator "******pppppppcStack_130" * (pointer_declarator "*****pppppppcStack_130" * (pointer_declarator "****pppppppcStack_130" * (pointer_declarator "***pppppppcStack_130" * (pointer_declarator "**pppppppcStack_130" * (pointer_declarator "*pppppppcStack_130" * identifier))))))) ;) (declaration "code ******ppppppcStack_12c;" type_identifier (pointer_declarator "******ppppppcStack_12c" * (pointer_declarator "*****ppppppcStack_12c" * (pointer_declarator "****ppppppcStack_12c" * (pointer_declarator "***ppppppcStack_12c" * (pointer_declarator "**ppppppcStack_12c" * (pointer_declarator "*ppppppcStack_12c" * identifier)))))) ;) (declaration "code ******ppppppcStack_128;" type_identifier (pointer_declarator "******ppppppcStack_128" * (pointer_declarator "*****ppppppcStack_128" * (pointer_declarator "****ppppppcStack_128" * (pointer_declarator "***ppppppcStack_128" * (pointer_declarator "**ppppppcStack_128" * (pointer_declarator "*ppppppcStack_128" * identifier)))))) ;) (declaration "code *******pppppppcStack_124;" type_identifier (pointer_declarator "*******pppppppcStack_124" * (pointer_declarator "******pppppppcStack_124" * (pointer_declarator "*****pppppppcStack_124" * (pointer_declarator "****pppppppcStack_124" * (pointer_declarator "***pppppppcStack_124" * (pointer_declarator "**pppppppcStack_124" * (pointer_declarator "*pppppppcStack_124" * identifier))))))) ;) (declaration "code *******pppppppcStack_120;" type_identifier (pointer_declarator "*******pppppppcStack_120" * (pointer_declarator "******pppppppcStack_120" * (pointer_declarator "*****pppppppcStack_120" * (pointer_declarator "****pppppppcStack_120" * (pointer_declarator "***pppppppcStack_120" * (pointer_declarator "**pppppppcStack_120" * (pointer_declarator "*pppppppcStack_120" * identifier))))))) ;) (declaration "undefined4 uStack_11c;" type_identifier identifier ;) (declaration "undefined *puStack_108;" type_identifier (pointer_declarator "*puStack_108" * identifier) ;) (declaration "code *pcStack_fc;" type_identifier (pointer_declarator "*pcStack_fc" * identifier) ;) (declaration "code *pcStack_f8;" type_identifier (pointer_declarator "*pcStack_f8" * identifier) ;) (declaration "code *******pppppppcStack_f4;" type_identifier (pointer_declarator "*******pppppppcStack_f4" * (pointer_declarator "******pppppppcStack_f4" * (pointer_declarator "*****pppppppcStack_f4" * (pointer_declarator "****pppppppcStack_f4" * (pointer_declarator "***pppppppcStack_f4" * (pointer_declarator "**pppppppcStack_f4" * (pointer_declarator "*pppppppcStack_f4" * identifier))))))) ;) (declaration "code *******pppppppcStack_f0;" type_identifier (pointer_declarator "*******pppppppcStack_f0" * (pointer_declarator "******pppppppcStack_f0" * (pointer_declarator "*****pppppppcStack_f0" * (pointer_declarator "****pppppppcStack_f0" * (pointer_declarator "***pppppppcStack_f0" * (pointer_declarator "**pppppppcStack_f0" * (pointer_declarator "*pppppppcStack_f0" * identifier))))))) ;) (declaration "code *pcStack_ec;" type_identifier (pointer_declarator "*pcStack_ec" * identifier) ;) (declaration "code *******pppppppcStack_e8;" type_identifier (pointer_declarator "*******pppppppcStack_e8" * (pointer_declarator "******pppppppcStack_e8" * (pointer_declarator "*****pppppppcStack_e8" * (pointer_declarator "****pppppppcStack_e8" * (pointer_declarator "***pppppppcStack_e8" * (pointer_declarator "**pppppppcStack_e8" * (pointer_declarator "*pppppppcStack_e8" * identifier))))))) ;) (declaration "int iStack_e4;" primitive_type identifier ;) (declaration "code *******pppppppcStack_e0;" type_identifier (pointer_declarator "*******pppppppcStack_e0" * (pointer_declarator "******pppppppcStack_e0" * (pointer_declarator "*****pppppppcStack_e0" * (pointer_declarator "****pppppppcStack_e0" * (pointer_declarator "***pppppppcStack_e0" * (pointer_declarator "**pppppppcStack_e0" * (pointer_declarator "*pppppppcStack_e0" * identifier))))))) ;) (declaration "code *******pppppppcStack_dc;" type_identifier (pointer_declarator "*******pppppppcStack_dc" * (pointer_declarator "******pppppppcStack_dc" * (pointer_declarator "*****pppppppcStack_dc" * (pointer_declarator "****pppppppcStack_dc" * (pointer_declarator "***pppppppcStack_dc" * (pointer_declarator "**pppppppcStack_dc" * (pointer_declarator "*pppppppcStack_dc" * identifier))))))) ;) (declaration "code *******pppppppcStack_d8;" type_identifier (pointer_declarator "*******pppppppcStack_d8" * (pointer_declarator "******pppppppcStack_d8" * (pointer_declarator "*****pppppppcStack_d8" * (pointer_declarator "****pppppppcStack_d8" * (pointer_declarator "***pppppppcStack_d8" * (pointer_declarator "**pppppppcStack_d8" * (pointer_declarator "*pppppppcStack_d8" * identifier))))))) ;) (declaration "code *******pppppppcStack_d4;" type_identifier (pointer_declarator "*******pppppppcStack_d4" * (pointer_declarator "******pppppppcStack_d4" * (pointer_declarator "*****pppppppcStack_d4" * (pointer_declarator "****pppppppcStack_d4" * (pointer_declarator "***pppppppcStack_d4" * (pointer_declarator "**pppppppcStack_d4" * (pointer_declarator "*pppppppcStack_d4" * identifier))))))) ;) (declaration "code *******pppppppcStack_d0;" type_identifier (pointer_declarator "*******pppppppcStack_d0" * (pointer_declarator "******pppppppcStack_d0" * (pointer_declarator "*****pppppppcStack_d0" * (pointer_declarator "****pppppppcStack_d0" * (pointer_declarator "***pppppppcStack_d0" * (pointer_declarator "**pppppppcStack_d0" * (pointer_declarator "*pppppppcStack_d0" * identifier))))))) ;) (declaration "uint uStack_cc;" type_identifier identifier ;) (declaration "code *******pppppppcStack_c8;" type_identifier (pointer_declarator "*******pppppppcStack_c8" * (pointer_declarator "******pppppppcStack_c8" * (pointer_declarator "*****pppppppcStack_c8" * (pointer_declarator "****pppppppcStack_c8" * (pointer_declarator "***pppppppcStack_c8" * (pointer_declarator "**pppppppcStack_c8" * (pointer_declarator "*pppppppcStack_c8" * identifier))))))) ;) (declaration "code *******pppppppcStack_c4;" type_identifier (pointer_declarator "*******pppppppcStack_c4" * (pointer_declarator "******pppppppcStack_c4" * (pointer_declarator "*****pppppppcStack_c4" * (pointer_declarator "****pppppppcStack_c4" * (pointer_declarator "***pppppppcStack_c4" * (pointer_declarator "**pppppppcStack_c4" * (pointer_declarator "*pppppppcStack_c4" * identifier))))))) ;) (declaration "code *pcStack_c0;" type_identifier (pointer_declarator "*pcStack_c0" * identifier) ;) (declaration "uint uStack_bc;" type_identifier identifier ;) (declaration "uint uStack_b8;" type_identifier identifier ;) (declaration "uint uStack_b4;" type_identifier identifier ;) (declaration "code *pcStack_b0;" type_identifier (pointer_declarator "*pcStack_b0" * identifier) ;) (declaration "code *pcStack_ac;" type_identifier (pointer_declarator "*pcStack_ac" * identifier) ;) (declaration "code *******pppppppcStack_a8;" type_identifier (pointer_declarator "*******pppppppcStack_a8" * (pointer_declarator "******pppppppcStack_a8" * (pointer_declarator "*****pppppppcStack_a8" * (pointer_declarator "****pppppppcStack_a8" * (pointer_declarator "***pppppppcStack_a8" * (pointer_declarator "**pppppppcStack_a8" * (pointer_declarator "*pppppppcStack_a8" * identifier))))))) ;) (declaration "code ******ppppppcStack_a4;" type_identifier (pointer_declarator "******ppppppcStack_a4" * (pointer_declarator "*****ppppppcStack_a4" * (pointer_declarator "****ppppppcStack_a4" * (pointer_declarator "***ppppppcStack_a4" * (pointer_declarator "**ppppppcStack_a4" * (pointer_declarator "*ppppppcStack_a4" * identifier)))))) ;) (declaration "code *******pppppppcStack_a0;" type_identifier (pointer_declarator "*******pppppppcStack_a0" * (pointer_declarator "******pppppppcStack_a0" * (pointer_declarator "*****pppppppcStack_a0" * (pointer_declarator "****pppppppcStack_a0" * (pointer_declarator "***pppppppcStack_a0" * (pointer_declarator "**pppppppcStack_a0" * (pointer_declarator "*pppppppcStack_a0" * identifier))))))) ;) (declaration "code *pcStack_9c;" type_identifier (pointer_declarator "*pcStack_9c" * identifier) ;) (declaration "int *piStack_98;" primitive_type (pointer_declarator "*piStack_98" * identifier) ;) (declaration "code *****pppppcStack_94;" type_identifier (pointer_declarator "*****pppppcStack_94" * (pointer_declarator "****pppppcStack_94" * (pointer_declarator "***pppppcStack_94" * (pointer_declarator "**pppppcStack_94" * (pointer_declarator "*pppppcStack_94" * identifier))))) ;) (declaration "code ******ppppppcStack_90;" type_identifier (pointer_declarator "******ppppppcStack_90" * (pointer_declarator "*****ppppppcStack_90" * (pointer_declarator "****ppppppcStack_90" * (pointer_declarator "***ppppppcStack_90" * (pointer_declarator "**ppppppcStack_90" * (pointer_declarator "*ppppppcStack_90" * identifier)))))) ;) (declaration "code ******ppppppcStack_8c;" type_identifier (pointer_declarator "******ppppppcStack_8c" * (pointer_declarator "*****ppppppcStack_8c" * (pointer_declarator "****ppppppcStack_8c" * (pointer_declarator "***ppppppcStack_8c" * (pointer_declarator "**ppppppcStack_8c" * (pointer_declarator "*ppppppcStack_8c" * identifier)))))) ;) (declaration "code ******ppppppcStack_88;" type_identifier (pointer_declarator "******ppppppcStack_88" * (pointer_declarator "*****ppppppcStack_88" * (pointer_declarator "****ppppppcStack_88" * (pointer_declarator "***ppppppcStack_88" * (pointer_declarator "**ppppppcStack_88" * (pointer_declarator "*ppppppcStack_88" * identifier)))))) ;) (declaration "uint uStack_84;" type_identifier identifier ;) (declaration "int *piStack_7c;" primitive_type (pointer_declarator "*piStack_7c" * identifier) ;) (declaration "code *******pppppppcStack_78;" type_identifier (pointer_declarator "*******pppppppcStack_78" * (pointer_declarator "******pppppppcStack_78" * (pointer_declarator "*****pppppppcStack_78" * (pointer_declarator "****pppppppcStack_78" * (pointer_declarator "***pppppppcStack_78" * (pointer_declarator "**pppppppcStack_78" * (pointer_declarator "*pppppppcStack_78" * identifier))))))) ;) (declaration "code *******pppppppcStack_74;" type_identifier (pointer_declarator "*******pppppppcStack_74" * (pointer_declarator "******pppppppcStack_74" * (pointer_declarator "*****pppppppcStack_74" * (pointer_declarator "****pppppppcStack_74" * (pointer_declarator "***pppppppcStack_74" * (pointer_declarator "**pppppppcStack_74" * (pointer_declarator "*pppppppcStack_74" * identifier))))))) ;) (declaration "undefined *puStack_70;" type_identifier (pointer_declarator "*puStack_70" * identifier) ;) (declaration "code *******pppppppcStack_6c;" type_identifier (pointer_declarator "*******pppppppcStack_6c" * (pointer_declarator "******pppppppcStack_6c" * (pointer_declarator "*****pppppppcStack_6c" * (pointer_declarator "****pppppppcStack_6c" * (pointer_declarator "***pppppppcStack_6c" * (pointer_declarator "**pppppppcStack_6c" * (pointer_declarator "*pppppppcStack_6c" * identifier))))))) ;) (declaration "code *******pppppppcStack_68;" type_identifier (pointer_declarator "*******pppppppcStack_68" * (pointer_declarator "******pppppppcStack_68" * (pointer_declarator "*****pppppppcStack_68" * (pointer_declarator "****pppppppcStack_68" * (pointer_declarator "***pppppppcStack_68" * (pointer_declarator "**pppppppcStack_68" * (pointer_declarator "*pppppppcStack_68" * identifier))))))) ;) (declaration "code *******local_24;" type_identifier (pointer_declarator "*******local_24" * (pointer_declarator "******local_24" * (pointer_declarator "*****local_24" * (pointer_declarator "****local_24" * (pointer_declarator "***local_24" * (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier))))))) ;) (declaration "code ******local_20;" type_identifier (pointer_declarator "******local_20" * (pointer_declarator "*****local_20" * (pointer_declarator "****local_20" * (pointer_declarator "***local_20" * (pointer_declarator "**local_20" * (pointer_declarator "*local_20" * identifier)))))) ;) (declaration "code *******local_1c;" type_identifier (pointer_declarator "*******local_1c" * (pointer_declarator "******local_1c" * (pointer_declarator "*****local_1c" * (pointer_declarator "****local_1c" * (pointer_declarator "***local_1c" * (pointer_declarator "**local_1c" * (pointer_declarator "*local_1c" * identifier))))))) ;) (expression_statement "pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c" identifier = (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "local_1c = *(code ********)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_1c = *(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 "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) identifier))) ;) (if_statement "if (param_2[0x12] == (code ******)0x0) {\n    pppppppcVar24 = (code *******)param_2[10];\n  }\n  else {\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }" if (parenthesized_expression "(param_2[0x12] == (code ******)0x0)" ( (binary_expression "param_2[0x12] == (code ******)0x0" (subscript_expression "param_2[0x12]" 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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    pppppppcVar24 = (code *******)param_2[10];\n  }" { (expression_statement "pppppppcVar24 = (code *******)param_2[10];" (assignment_expression "pppppppcVar24 = (code *******)param_2[10]" identifier = (cast_expression "(code *******)param_2[10]" ( (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 "*" *)))))))) ) (subscript_expression "param_2[10]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }" else (compound_statement "{\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }" { (expression_statement "pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);" (assignment_expression "pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13])" identifier = (cast_expression "(code *******)((int)param_2[0x12] + (int)param_2[0x13])" ( (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 "((int)param_2[0x12] + (int)param_2[0x13])" ( (binary_expression "(int)param_2[0x12] + (int)param_2[0x13]" (cast_expression "(int)param_2[0x12]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[0x12]" identifier [ number_literal ])) + (cast_expression "(int)param_2[0x13]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[0x13]" identifier [ number_literal ]))) )))) ;) }))) (if_statement "if ((pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)) {\n    pppppppcVar13 = param_2;\n    if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }" if (parenthesized_expression "((pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24))" ( (binary_expression "(pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)" (parenthesized_expression "(pppppppcVar24 == (code *******)0x0)" ( (binary_expression "pppppppcVar24 == (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) || (parenthesized_expression "((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)" ( (binary_expression "(code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24" (cast_expression "(code *******)((int)param_2[10] + (int)param_2[0xb])" ( (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 "((int)param_2[10] + (int)param_2[0xb])" ( (binary_expression "(int)param_2[10] + (int)param_2[0xb]" (cast_expression "(int)param_2[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[10]" identifier [ number_literal ])) + (cast_expression "(int)param_2[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[0xb]" identifier [ number_literal ]))) ))) <= identifier) ))) )) (compound_statement "{\n    pppppppcVar13 = param_2;\n    if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }\n  }" { (expression_statement "pppppppcVar13 = param_2;" (assignment_expression "pppppppcVar13 = param_2" identifier = identifier) ;) (if_statement "if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }" if (parenthesized_expression "(param_2[0xe] == (code ******)0x0)" ( (binary_expression "param_2[0xe] == (code ******)0x0" (subscript_expression "param_2[0xe]" 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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }" { (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x5384))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x5384)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x5384)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x5384)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x5384" identifier + number_literal) )))) )) (argument_list "(param_2)" ( identifier ))) ;) (expression_statement "ppppppcVar7 = param_2[8];" (assignment_expression "ppppppcVar7 = param_2[8]" identifier = (subscript_expression "param_2[8]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar6 = (code *******)param_2[9];" (assignment_expression "pppppppcVar6 = (code *******)param_2[9]" identifier = (cast_expression "(code *******)param_2[9]" ( (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 "*" *)))))))) ) (subscript_expression "param_2[9]" identifier [ number_literal ]))) ;) (if_statement "if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }" if (parenthesized_expression "((int)param_2[4] <= (int)ppppppcVar7)" ( (binary_expression "(int)param_2[4] <= (int)ppppppcVar7" (cast_expression "(int)param_2[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ])) <= (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }" { (if_statement "if (param_2[4] != ppppppcVar7) goto LAB_0011da80;" if (parenthesized_expression "(param_2[4] != ppppppcVar7)" ( (binary_expression "param_2[4] != ppppppcVar7" (subscript_expression "param_2[4]" identifier [ number_literal ]) != identifier) )) (goto_statement "goto LAB_0011da80;" goto statement_identifier ;)) (expression_statement "param_4 = (code *******)((int)pppppppcVar6 + 1);" (assignment_expression "param_4 = (code *******)((int)pppppppcVar6 + 1)" identifier = (cast_expression "(code *******)((int)pppppppcVar6 + 1)" ( (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 "((int)pppppppcVar6 + 1)" ( (binary_expression "(int)pppppppcVar6 + 1" (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }" if (parenthesized_expression "(param_2[5] <= pppppppcVar6)" ( (binary_expression "param_2[5] <= pppppppcVar6" (subscript_expression "param_2[5]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;) })) })) (expression_statement "param_4 = (code *******)((int)pppppppcVar6 + 1);" (assignment_expression "param_4 = (code *******)((int)pppppppcVar6 + 1)" identifier = (cast_expression "(code *******)((int)pppppppcVar6 + 1)" ( (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 "((int)pppppppcVar6 + 1)" ( (binary_expression "(int)pppppppcVar6 + 1" (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_2[9] = (code ******)param_4;" (assignment_expression "param_2[9] = (code ******)param_4" (subscript_expression "param_2[9]" identifier [ number_literal ]) = (cast_expression "(code ******)param_4" ( (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_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));" (assignment_expression "param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6))" (subscript_expression "param_2[8]" identifier [ number_literal ]) = (cast_expression "(code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6))" ( (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)ppppppcVar7 + (uint)(param_4 < pppppppcVar6))" ( (binary_expression "(int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6)" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(param_4 < pppppppcVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_4 < pppppppcVar6)" ( (binary_expression "param_4 < pppppppcVar6" identifier < identifier) )))) )))) ;) (expression_statement "iVar2 = FUN_0011c2d4(param_1);" (assignment_expression "iVar2 = FUN_0011c2d4(param_1)" identifier = (call_expression "FUN_0011c2d4(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }" { (expression_statement "pppppppcVar24 = (code *******)param_2[10];" (assignment_expression "pppppppcVar24 = (code *******)param_2[10]" identifier = (cast_expression "(code *******)param_2[10]" ( (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 "*" *)))))))) ) (subscript_expression "param_2[10]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0011d91c;" goto statement_identifier ;) })) }) (else_clause "else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }" else (compound_statement "{\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }" { (expression_statement "param_1 = (code *******)*param_2[0xe];" (assignment_expression "param_1 = (code *******)*param_2[0xe]" identifier = (cast_expression "(code *******)*param_2[0xe]" ( (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 "*" *)))))))) ) (pointer_expression "*param_2[0xe]" * (subscript_expression "param_2[0xe]" identifier [ number_literal ])))) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(param_2[10])" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2[10])" ( (subscript_expression "param_2[10]" identifier [ number_literal ]) ))) ;) (expression_statement "param_2[10] = (code ******)0x0;" (assignment_expression "param_2[10] = (code ******)0x0" (subscript_expression "param_2[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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "puVar32 = PTR_sqlite3_malloc_0015b640;" (assignment_expression "puVar32 = PTR_sqlite3_malloc_0015b640" identifier = identifier) ;) (if_statement "if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }" if (parenthesized_expression "(param_1 == (code *******)0x0)" ( (binary_expression "param_1 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\nLAB_0011da80:\n        iVar2 = 0;\n      }" { (labeled_statement "LAB_0011da80:\n        iVar2 = 0;" statement_identifier : (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }" else (compound_statement "{\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }" { (expression_statement "unaff_s4 = (code *******)param_1[2];" (assignment_expression "unaff_s4 = (code *******)param_1[2]" identifier = (cast_expression "(code *******)param_1[2]" ( (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 "*" *)))))))) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar7 = *unaff_s4;" (assignment_expression "ppppppcVar7 = *unaff_s4" identifier = (pointer_expression "*unaff_s4" * identifier)) ;) (expression_statement "param_2[0x10] = param_1[3];" (assignment_expression "param_2[0x10] = param_1[3]" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);" (assignment_expression "pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1)" identifier = (cast_expression "(code *******)((int)ppppppcVar7 + 1)" ( (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 "((int)ppppppcVar7 + 1)" ( (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_2[0xf] = param_1[4];" (assignment_expression "param_2[0xf] = param_1[4]" (subscript_expression "param_2[0xf]" identifier [ number_literal ]) = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = (*(code *)puVar32)(pppppppcVar24);" (assignment_expression "iVar2 = (*(code *)puVar32)(pppppppcVar24)" identifier = (call_expression "(*(code *)puVar32)(pppppppcVar24)" (parenthesized_expression "(*(code *)puVar32)" ( (pointer_expression "*(code *)puVar32" * (cast_expression "(code *)puVar32" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppppcVar24)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }" { (expression_statement "pppppppcVar13 = (code *******)unaff_s4[1];" (assignment_expression "pppppppcVar13 = (code *******)unaff_s4[1]" identifier = (cast_expression "(code *******)unaff_s4[1]" ( (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 "*" *)))))))) ) (subscript_expression "unaff_s4[1]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);" (assignment_expression "ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24)" identifier = (cast_expression "(code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24)" ( (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 *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,pppppppcVar13,pppppppcVar24)" ( identifier , identifier , identifier ))))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (expression_statement "param_2[0x13] = (code ******)pppppppcVar24;" (assignment_expression "param_2[0x13] = (code ******)pppppppcVar24" (subscript_expression "param_2[0x13]" identifier [ number_literal ]) = (cast_expression "(code ******)pppppppcVar24" ( (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_2[0xb] = (code ******)pppppppcVar24;" (assignment_expression "param_2[0xb] = (code ******)pppppppcVar24" (subscript_expression "param_2[0xb]" identifier [ number_literal ]) = (cast_expression "(code ******)pppppppcVar24" ( (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_2[0x12] = ppppppcVar7;" (assignment_expression "param_2[0x12] = ppppppcVar7" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[10] = ppppppcVar7;" (assignment_expression "param_2[10] = ppppppcVar7" (subscript_expression "param_2[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[0xe] = param_2[0xe] + 1;" (assignment_expression "param_2[0xe] = param_2[0xe] + 1" (subscript_expression "param_2[0xe]" identifier [ number_literal ]) = (binary_expression "param_2[0xe] + 1" (subscript_expression "param_2[0xe]" identifier [ number_literal ]) + number_literal)) ;) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;) })) (labeled_statement "LAB_0011dbc4:\n        iVar2 = 7;" statement_identifier : (expression_statement "iVar2 = 7;" (assignment_expression "iVar2 = 7" identifier = number_literal) ;)) }))) }))) }) (else_clause "else {\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }" else (compound_statement "{\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }" { (labeled_statement "LAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);" statement_identifier : (expression_statement "param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);" (assignment_expression "param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80)" identifier = (cast_expression "(code *******)(PTR_LAB_0015b6f8 + 0x5f80)" ( (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 "(PTR_LAB_0015b6f8 + 0x5f80)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x5f80" identifier + number_literal) )))) ;)) (expression_statement "pppppppcVar13 = pppppppcVar24;" (assignment_expression "pppppppcVar13 = pppppppcVar24" identifier = identifier) ;) (expression_statement "iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);" (assignment_expression "iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14)" identifier = (call_expression "(*(code *)param_1)(param_2,pppppppcVar24,0x14)" (parenthesized_expression "(*(code *)param_1)" ( (pointer_expression "*(code *)param_1" * (cast_expression "(code *)param_1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,pppppppcVar24,0x14)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }" { (if_statement "if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }" if (parenthesized_expression "((char)*(code *)pppppppcVar24 < '\0')" ( (binary_expression "(char)*(code *)pppppppcVar24 < '\0'" (cast_expression "(char)*(code *)pppppppcVar24" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)pppppppcVar24" * (cast_expression "(code *)pppppppcVar24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }" { (expression_statement "pppppppcVar13 = (code *******)&local_24;" (assignment_expression "pppppppcVar13 = (code *******)&local_24" identifier = (cast_expression "(code *******)&local_24" ( (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 "*" *)))))))) ) (pointer_expression "&local_24" & identifier))) ;) (expression_statement "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);" (assignment_expression "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) )) (argument_list "(pppppppcVar24)" ( identifier )))) ;) }) (else_clause "else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }" else (compound_statement "{\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (expression_statement "local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;" (assignment_expression "local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24" identifier = (binary_expression "(code *******)(uint)(byte)*(code *)pppppppcVar24" (cast_expression "(code *******)(uint)(byte)" ( (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 "*" *)))))))) ) (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * (cast_expression "(code *)pppppppcVar24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (expression_statement "pcVar25 = (code *)((int)pppppppcVar24 + iVar2);" (assignment_expression "pcVar25 = (code *)((int)pppppppcVar24 + iVar2)" identifier = (cast_expression "(code *)((int)pppppppcVar24 + iVar2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar24 + iVar2)" ( (binary_expression "(int)pppppppcVar24 + iVar2" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }" if (parenthesized_expression "((char)*pcVar25 < '\0')" ( (binary_expression "(char)*pcVar25 < '\0'" (cast_expression "(char)*pcVar25" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pcVar25" * identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }" { (expression_statement "pppppppcVar13 = &local_20;" (assignment_expression "pppppppcVar13 = &local_20" identifier = (pointer_expression "&local_20" & identifier)) ;) (expression_statement "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);" (assignment_expression "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) )) (argument_list "(pcVar25)" ( identifier )))) ;) }) (else_clause "else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }" else (compound_statement "{\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (expression_statement "local_20 = (code ******)(uint)(byte)*pcVar25;" (assignment_expression "local_20 = (code ******)(uint)(byte)*pcVar25" identifier = (binary_expression "(code ******)(uint)(byte)*pcVar25" (cast_expression "(code ******)(uint)(byte)" ( (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 "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * identifier)) ;) }))) (expression_statement "pppppppcVar24 = (code *******)(pcVar25 + iVar2);" (assignment_expression "pppppppcVar24 = (code *******)(pcVar25 + iVar2)" identifier = (cast_expression "(code *******)(pcVar25 + iVar2)" ( (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 "(pcVar25 + iVar2)" ( (binary_expression "pcVar25 + iVar2" identifier + identifier) )))) ;) (if_statement "if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }" if (parenthesized_expression "(0 < (int)local_20)" ( (binary_expression "0 < (int)local_20" number_literal < (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }" { (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" identifier = number_literal) ;) (if_statement "if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;" if (parenthesized_expression "(((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)" ( (binary_expression "((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20" (binary_expression "((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24" (parenthesized_expression "((int)param_2[10] + (int)param_2[0xb])" ( (binary_expression "(int)param_2[10] + (int)param_2[0xb]" (cast_expression "(int)param_2[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[10]" identifier [ number_literal ])) + (cast_expression "(int)param_2[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[0xb]" identifier [ number_literal ]))) )) - (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;)) (expression_statement "pppppppcVar6 = (code *******)param_2[0x11];" (assignment_expression "pppppppcVar6 = (code *******)param_2[0x11]" identifier = (cast_expression "(code *******)param_2[0x11]" ( (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 "*" *)))))))) ) (subscript_expression "param_2[0x11]" identifier [ number_literal ]))) ;) (expression_statement "pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);" (assignment_expression "pppppppcVar13 = (code *******)((int)local_24 >> 0x1f)" identifier = (cast_expression "(code *******)((int)local_24 >> 0x1f)" ( (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 "((int)local_24 >> 0x1f)" ( (binary_expression "(int)local_24 >> 0x1f" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }" if (parenthesized_expression "((int)local_24 <= (int)pppppppcVar6)" ( (binary_expression "(int)local_24 <= (int)pppppppcVar6" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }" { (expression_statement "param_4 = (code *******)((int)local_24 + (int)local_20);" (assignment_expression "param_4 = (code *******)((int)local_24 + (int)local_20)" identifier = (cast_expression "(code *******)((int)local_24 + (int)local_20)" ( (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 "((int)local_24 + (int)local_20)" ( (binary_expression "(int)local_24 + (int)local_20" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));" (assignment_expression "pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f))" identifier = (cast_expression "(code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f))" ( (binary_expression "(int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f)" (binary_expression "(int)pppppppcVar13 +\n                            (uint)(param_4 < local_24)" (cast_expression "(int)pppppppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(param_4 < local_24)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_4 < local_24)" ( (binary_expression "param_4 < local_24" identifier < identifier) )))) + (parenthesized_expression "((int)local_20 >> 0x1f)" ( (binary_expression "(int)local_20 >> 0x1f" (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (expression_statement "pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);" (assignment_expression "pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25)" identifier = (cast_expression "(code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25)" ( (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 "*" *)))))))) ) (call_expression "(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppppcVar6 >> 0x1f < (int)pcVar25)" ( (binary_expression "(int)pppppppcVar6 >> 0x1f < (int)pcVar25" (binary_expression "(int)pppppppcVar6 >> 0x1f" (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) < (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }" if (parenthesized_expression "((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4))))" ( (binary_expression "(pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))" (parenthesized_expression "(pppppppcVar13 != (code *******)0x0)" ( (binary_expression "pppppppcVar13 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) || (parenthesized_expression "((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))" ( (parenthesized_expression "(pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4))" ( (binary_expression "pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)" (binary_expression "pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f)" identifier == (cast_expression "(code *)((int)pppppppcVar6 >> 0x1f)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar6 >> 0x1f)" ( (binary_expression "(int)pppppppcVar6 >> 0x1f" (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) && (parenthesized_expression "(pppppppcVar6 < param_4)" ( (binary_expression "pppppppcVar6 < param_4" identifier < identifier) ))) )) ))) )) (compound_statement "{\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }" { (expression_statement "uVar18 = (uint)param_4 >> 0x1f;" (assignment_expression "uVar18 = (uint)param_4 >> 0x1f" identifier = (binary_expression "(uint)param_4 >> 0x1f" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "unaff_s4 = (code *******)((int)param_4 * 2);" (assignment_expression "unaff_s4 = (code *******)((int)param_4 * 2)" identifier = (cast_expression "(code *******)((int)param_4 * 2)" ( (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 "((int)param_4 * 2)" ( (binary_expression "(int)param_4 * 2" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "param_4 = unaff_s4;" (assignment_expression "param_4 = unaff_s4" identifier = identifier) ;) (expression_statement "ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;" (assignment_expression "ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)" identifier = (cast_expression "(code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)" ( (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 *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_realloc64_0015b764)" ( (pointer_expression "*(code *)PTR_sqlite3_realloc64_0015b764" * (cast_expression "(code *)PTR_sqlite3_realloc64_0015b764" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)" ( (subscript_expression "param_2[0x10]" identifier [ number_literal ]) , identifier , (binary_expression "uVar18 | (int)pcVar25 * 2" identifier | (binary_expression "(int)pcVar25 * 2" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) , identifier ))))) ;) (if_statement "if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;" if (parenthesized_expression "(ppppppcVar7 == (code ******)0x0)" ( (binary_expression "ppppppcVar7 == (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_0011dbc4;" goto statement_identifier ;)) (expression_statement "param_2[0x10] = ppppppcVar7;" (assignment_expression "param_2[0x10] = ppppppcVar7" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[0x11] = (code ******)unaff_s4;" (assignment_expression "param_2[0x11] = (code ******)unaff_s4" (subscript_expression "param_2[0x11]" identifier [ number_literal ]) = (cast_expression "(code ******)unaff_s4" ( (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 "pppppppcVar13 = pppppppcVar24;" (assignment_expression "pppppppcVar13 = pppppppcVar24" identifier = identifier) ;) (expression_statement "iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);" (assignment_expression "iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10)" identifier = (call_expression "(*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10)" (parenthesized_expression "(*(code *)param_1)" ( (pointer_expression "*(code *)param_1" * (cast_expression "(code *)param_1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,pppppppcVar24,(int)local_20 + 10)" ( identifier , identifier , (binary_expression "(int)local_20 + 10" (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0011db18;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;)) (expression_statement "pppppppcVar13 = pppppppcVar24;" (assignment_expression "pppppppcVar13 = pppppppcVar24" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);" (call_expression "(*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20)" ( (cast_expression "(code *)((int)local_24 + (int)param_2[0x10])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_24 + (int)param_2[0x10])" ( (binary_expression "(int)local_24 + (int)param_2[0x10]" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)param_2[0x10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[0x10]" identifier [ number_literal ]))) ))) , identifier , identifier ))) ;) (expression_statement "pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);" (assignment_expression "pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20)" identifier = (cast_expression "(code *)((int)pppppppcVar24 + (int)local_20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar24 + (int)local_20)" ( (binary_expression "(int)pppppppcVar24 + (int)local_20" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "param_2[0xf] = (code ******)((int)local_24 + (int)local_20);" (assignment_expression "param_2[0xf] = (code ******)((int)local_24 + (int)local_20)" (subscript_expression "param_2[0xf]" identifier [ number_literal ]) = (cast_expression "(code ******)((int)local_24 + (int)local_20)" ( (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)local_24 + (int)local_20)" ( (binary_expression "(int)local_24 + (int)local_20" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;" (assignment_expression "ppppppcVar7 = (code ******)(uint)(byte)*pcVar25" identifier = (binary_expression "(code ******)(uint)(byte)*pcVar25" (cast_expression "(code ******)(uint)(byte)" ( (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 "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * identifier)) ;) (if_statement "if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }" if (parenthesized_expression "((char)*pcVar25 < '\0')" ( (binary_expression "(char)*pcVar25 < '\0'" (cast_expression "(char)*pcVar25" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pcVar25" * identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }" { (expression_statement "pppppppcVar13 = param_2 + 0x13;" (assignment_expression "pppppppcVar13 = param_2 + 0x13" identifier = (binary_expression "param_2 + 0x13" identifier + number_literal)) ;) (expression_statement "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);" (assignment_expression "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) )) (argument_list "(pcVar25)" ( identifier )))) ;) (expression_statement "ppppppcVar7 = param_2[0x13];" (assignment_expression "ppppppcVar7 = param_2[0x13]" identifier = (subscript_expression "param_2[0x13]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }" else (compound_statement "{\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (expression_statement "param_2[0x13] = ppppppcVar7;" (assignment_expression "param_2[0x13] = ppppppcVar7" (subscript_expression "param_2[0x13]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "pppppppcVar24 = (code *******)(pcVar25 + iVar2);" (assignment_expression "pppppppcVar24 = (code *******)(pcVar25 + iVar2)" identifier = (cast_expression "(code *******)(pcVar25 + iVar2)" ( (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 "(pcVar25 + iVar2)" ( (binary_expression "pcVar25 + iVar2" identifier + identifier) )))) ;) (expression_statement "param_2[0x12] = (code ******)pppppppcVar24;" (assignment_expression "param_2[0x12] = (code ******)pppppppcVar24" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) = (cast_expression "(code ******)pppppppcVar24" ( (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_2[0x14] = (code ******)0x0;" (assignment_expression "param_2[0x14] = (code ******)0x0" (subscript_expression "param_2[0x14]" 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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }" if (parenthesized_expression "((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10]))" ( (binary_expression "(int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "(int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])" (cast_expression "(int)param_2[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[0xb]" identifier [ number_literal ])) - (parenthesized_expression "((int)pppppppcVar24 - (int)param_2[10])" ( (binary_expression "(int)pppppppcVar24 - (int)param_2[10]" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_2[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[10]" identifier [ number_literal ]))) )))) )) (compound_statement "{\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (if_statement "if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;" if (parenthesized_expression "(param_2[0xc] != (code ******)0x0)" ( (binary_expression "param_2[0xc] != (code ******)0x0" (subscript_expression "param_2[0xc]" 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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;)) (expression_statement "pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);" (assignment_expression "pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7)" identifier = (cast_expression "(code *******)((int)pppppppcVar24 + (int)ppppppcVar7)" ( (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 "((int)pppppppcVar24 + (int)ppppppcVar7)" ( (binary_expression "(int)pppppppcVar24 + (int)ppppppcVar7" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;" if (parenthesized_expression "(*(code *)((int)pppppppcVar24 + -1) == (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcVar24 + -1) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar24 + -1)" * (cast_expression "(code *)((int)pppppppcVar24 + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar24 + -1)" ( (binary_expression "(int)pppppppcVar24 + -1" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0011da80;" goto statement_identifier ;)) })) })) })) (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" identifier = number_literal) ;) })) }))) (labeled_statement "LAB_0011db18:\n  if (local_1c == (code *******)*pppppppcVar26) {\n    return iVar2;\n  }" statement_identifier : (if_statement "if (local_1c == (code *******)*pppppppcVar26) {\n    return iVar2;\n  }" if (parenthesized_expression "(local_1c == (code *******)*pppppppcVar26)" ( (binary_expression "local_1c == (code *******)*pppppppcVar26" identifier == (cast_expression "(code *******)*pppppppcVar26" ( (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 "*" *)))))))) ) (pointer_expression "*pppppppcVar26" * identifier))) )) (compound_statement "{\n    return iVar2;\n  }" { (return_statement "return iVar2;" return identifier ;) }))) (expression_statement "pppppppcVar6 = local_1c;" (assignment_expression "pppppppcVar6 = local_1c" identifier = identifier) ;) (expression_statement "puVar32 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar32 = 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_108 = puVar32 + 0x45928;" (assignment_expression "puStack_108 = puVar32 + 0x45928" identifier = (binary_expression "puVar32 + 0x45928" identifier + number_literal)) ;) (expression_statement "pppppppcStack_68 = unaff_s4;" (assignment_expression "pppppppcStack_68 = unaff_s4" identifier = identifier) ;) (expression_statement "pppppppcStack_6c = param_1;" (assignment_expression "pppppppcStack_6c = param_1" identifier = identifier) ;) (expression_statement "puStack_70 = (undefined *)pppppppcVar26;" (assignment_expression "puStack_70 = (undefined *)pppppppcVar26" identifier = (cast_expression "(undefined *)pppppppcVar26" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pppppppcStack_74 = pppppppcVar24;" (assignment_expression "pppppppcStack_74 = pppppppcVar24" identifier = identifier) ;) (expression_statement "pppppppcStack_78 = param_2;" (assignment_expression "pppppppcStack_78 = param_2" identifier = identifier) ;) (expression_statement "piStack_98 = *(int **)(puVar32 + 0x3dda4);" (assignment_expression "piStack_98 = *(int **)(puVar32 + 0x3dda4)" identifier = (pointer_expression "*(int **)(puVar32 + 0x3dda4)" * (cast_expression "(int **)(puVar32 + 0x3dda4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + 0x3dda4)" ( (binary_expression "puVar32 + 0x3dda4" identifier + number_literal) ))))) ;) (expression_statement "pppppppcStack_c8 = pppppppcVar6;" (assignment_expression "pppppppcStack_c8 = pppppppcVar6" identifier = identifier) ;) (expression_statement "pppppppcStack_e0 = pppppppcVar13;" (assignment_expression "pppppppcStack_e0 = pppppppcVar13" identifier = identifier) ;) (expression_statement "piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4);" (assignment_expression "piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4)" identifier = (cast_expression "(int *)**(int **)(puVar32 + 0x3dda4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar32 + 0x3dda4)" * (pointer_expression "*(int **)(puVar32 + 0x3dda4)" * (cast_expression "(int **)(puVar32 + 0x3dda4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + 0x3dda4)" ( (binary_expression "puVar32 + 0x3dda4" identifier + number_literal) ))))))) ;) (expression_statement "pppppppcStack_a0 = (code *******)pppppppcVar13[1];" (assignment_expression "pppppppcStack_a0 = (code *******)pppppppcVar13[1]" identifier = (cast_expression "(code *******)pppppppcVar13[1]" ( (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 "*" *)))))))) ) (subscript_expression "pppppppcVar13[1]" identifier [ number_literal ]))) ;) (expression_statement "pppppppcVar29 = param_1;" (assignment_expression "pppppppcVar29 = param_1" identifier = identifier) ;) (if_statement "if (*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0) {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar2 = 0;\n    if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }" if (parenthesized_expression "(*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar6 + 0xeb)" * (cast_expression "(code *)((int)pppppppcVar6 + 0xeb)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar6 + 0xeb)" ( (binary_expression "(int)pppppppcVar6 + 0xeb" (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar2 = 0;\n    if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }\n  }" { (expression_statement "pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);" (assignment_expression "pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0)" identifier = (cast_expression "(code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0)" ( (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 "(*(int *)(puVar32 + 0x3da38) + -0x26f0)" ( (binary_expression "*(int *)(puVar32 + 0x3da38) + -0x26f0" (pointer_expression "*(int *)(puVar32 + 0x3da38)" * (cast_expression "(int *)(puVar32 + 0x3da38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3da38)" ( (binary_expression "puVar32 + 0x3da38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (if_statement "if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }" if (parenthesized_expression "(pppppppcStack_a0 != (code *******)0x0)" ( (binary_expression "pppppppcStack_a0 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }" { (labeled_statement "LAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];" statement_identifier : (expression_statement "ppppppcStack_a4 = pppppppcVar13[3];" (assignment_expression "ppppppcStack_a4 = pppppppcVar13[3]" identifier = (subscript_expression "pppppppcVar13[3]" identifier [ number_literal ])) ;)) (expression_statement "unaff_s6 = pppppppcVar13[2];" (assignment_expression "unaff_s6 = pppppppcVar13[2]" identifier = (subscript_expression "pppppppcVar13[2]" identifier [ number_literal ])) ;) (expression_statement "pppppcStack_94 = ppppppcStack_a4[3];" (assignment_expression "pppppcStack_94 = ppppppcStack_a4[3]" identifier = (subscript_expression "ppppppcStack_a4[3]" identifier [ number_literal ])) ;) (expression_statement "pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);" (assignment_expression "pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758)" identifier = (cast_expression "(code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x3da4c) + -0x2758)" ( (binary_expression "*(int *)(puVar32 + 0x3da4c) + -0x2758" (pointer_expression "*(int *)(puVar32 + 0x3da4c)" * (cast_expression "(int *)(puVar32 + 0x3da4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3da4c)" ( (binary_expression "puVar32 + 0x3da4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppppcStack_f0 = (code *******)*pppppppcVar13;" (assignment_expression "pppppppcStack_f0 = (code *******)*pppppppcVar13" identifier = (cast_expression "(code *******)*pppppppcVar13" ( (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 "*" *)))))))) ) (pointer_expression "*pppppppcVar13" * identifier))) ;) (expression_statement "pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);" (assignment_expression "pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384)" identifier = (cast_expression "(code *)(*(int *)(puVar32 + 0x3da70) + 0x5384)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x3da70) + 0x5384)" ( (binary_expression "*(int *)(puVar32 + 0x3da70) + 0x5384" (pointer_expression "*(int *)(puVar32 + 0x3da70)" * (cast_expression "(int *)(puVar32 + 0x3da70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3da70)" ( (binary_expression "puVar32 + 0x3da70" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);" (assignment_expression "pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74)" identifier = (cast_expression "(code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x3d9d4) + 0xf74)" ( (binary_expression "*(int *)(puVar32 + 0x3d9d4) + 0xf74" (pointer_expression "*(int *)(puVar32 + 0x3d9d4)" * (cast_expression "(int *)(puVar32 + 0x3d9d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3d9d4)" ( (binary_expression "puVar32 + 0x3d9d4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uStack_cc = (uint)pppppcStack_94 & 1;" (assignment_expression "uStack_cc = (uint)pppppcStack_94 & 1" identifier = (binary_expression "(uint)pppppcStack_94 & 1" (cast_expression "(uint)pppppcStack_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (do_statement "do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );" do (compound_statement "{\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      }" { (expression_statement "pppppppcVar6 = pppppppcStack_c8;" (assignment_expression "pppppppcVar6 = pppppppcStack_c8" identifier = identifier) ;) (expression_statement "pppppppcVar13 = pppppppcStack_e0;" (assignment_expression "pppppppcVar13 = pppppppcStack_e0" identifier = identifier) ;) (expression_statement "pppppppcVar24 = (code *******)0x0;" (assignment_expression "pppppppcVar24 = (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "param_2 = pppppppcStack_f0;" (assignment_expression "param_2 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "pppppppcVar29 = param_1;" (assignment_expression "pppppppcVar29 = param_1" identifier = identifier) ;) (if_statement "if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }" if (parenthesized_expression "(0 < (int)unaff_s6)" ( (binary_expression "0 < (int)unaff_s6" number_literal < (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }" { (do_statement "do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);" do (compound_statement "{\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          }" { (expression_statement "pppppppcVar26 = pppppppcVar13;" (assignment_expression "pppppppcVar26 = pppppppcVar13" identifier = identifier) ;) (expression_statement "pppppppcVar29 = pppppppcVar6;" (assignment_expression "pppppppcVar29 = pppppppcVar6" identifier = identifier) ;) (if_statement "if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }" if (parenthesized_expression "(*(char *)(*param_2 + 1) == '\0')" ( (binary_expression "*(char *)(*param_2 + 1) == '\0'" (pointer_expression "*(char *)(*param_2 + 1)" * (cast_expression "(char *)(*param_2 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_2 + 1)" ( (binary_expression "*param_2 + 1" (pointer_expression "*param_2" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }" { (expression_statement "iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);" (assignment_expression "iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2)" identifier = (call_expression "(*pcStack_b0)(pppppppcVar6,*param_2)" (parenthesized_expression "(*pcStack_b0)" ( (pointer_expression "*pcStack_b0" * identifier) )) (argument_list "(pppppppcVar6,*param_2)" ( identifier , (pointer_expression "*param_2" * identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0011ddb4;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;)) }) (else_clause "else {\n              (*pcStack_ac)();\n            }" else (compound_statement "{\n              (*pcStack_ac)();\n            }" { (expression_statement "(*pcStack_ac)();" (call_expression "(*pcStack_ac)()" (parenthesized_expression "(*pcStack_ac)" ( (pointer_expression "*pcStack_ac" * identifier) )) (argument_list "()" ( ))) ;) }))) (expression_statement "unaff_s6 = pppppppcVar13[2];" (assignment_expression "unaff_s6 = pppppppcVar13[2]" identifier = (subscript_expression "pppppppcVar13[2]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);" (assignment_expression "pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1)" identifier = (cast_expression "(code *******)((int)pppppppcVar24 + 1)" ( (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 "((int)pppppppcVar24 + 1)" ( (binary_expression "(int)pppppppcVar24 + 1" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)pppppppcVar24 < (int)unaff_s6)" ( (binary_expression "(int)pppppppcVar24 < (int)unaff_s6" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "param_2 = pppppppcStack_f0;" (assignment_expression "param_2 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);" (assignment_expression "pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944)" identifier = (cast_expression "(code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_108 + -0x7f54) + 0x2944)" ( (binary_expression "*(int *)(puStack_108 + -0x7f54) + 0x2944" (pointer_expression "*(int *)(puStack_108 + -0x7f54)" * (cast_expression "(int *)(puStack_108 + -0x7f54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_108 + -0x7f54)" ( (binary_expression "puStack_108 + -0x7f54" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);" (assignment_expression "param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638)" identifier = (cast_expression "(code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638)" ( (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 "(*(int *)(puStack_108 + -0x7ed8) + -0x7638)" ( (binary_expression "*(int *)(puStack_108 + -0x7ed8) + -0x7638" (pointer_expression "*(int *)(puStack_108 + -0x7ed8)" * (cast_expression "(int *)(puStack_108 + -0x7ed8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_108 + -0x7ed8)" ( (binary_expression "puStack_108 + -0x7ed8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);" (call_expression "(*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4)" (parenthesized_expression "(*pcStack_c0)" ( (pointer_expression "*pcStack_c0" * identifier) )) (argument_list "(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "pppppppcStack_e0[2] = (code ******)0x0;" (assignment_expression "pppppppcStack_e0[2] = (code ******)0x0" (subscript_expression "pppppppcStack_e0[2]" 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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;" if (parenthesized_expression "((*param_2)[10] == (code *****)0x0)" ( (binary_expression "(*param_2)[10] == (code *****)0x0" (subscript_expression "(*param_2)[10]" (parenthesized_expression "(*param_2)" ( (pointer_expression "*param_2" * 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)) )) (goto_statement "goto LAB_0011de08;" goto statement_identifier ;)) (expression_statement "pppppppcVar26 = (code *******)(*param_2)[0xf];" (assignment_expression "pppppppcVar26 = (code *******)(*param_2)[0xf]" identifier = (cast_expression "(code *******)(*param_2)[0xf]" ( (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 "*" *)))))))) ) (subscript_expression "(*param_2)[0xf]" (parenthesized_expression "(*param_2)" ( (pointer_expression "*param_2" * identifier) )) [ number_literal ]))) ;) (expression_statement "pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;" (assignment_expression "pppppppcStack_e0[0xb] = (code ******)pppppppcVar26" (subscript_expression "pppppppcStack_e0[0xb]" identifier [ number_literal ]) = (cast_expression "(code ******)pppppppcVar26" ( (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_2 = (code *******)(*param_2)[0x10];" (assignment_expression "param_2 = (code *******)(*param_2)[0x10]" identifier = (cast_expression "(code *******)(*param_2)[0x10]" ( (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 "*" *)))))))) ) (subscript_expression "(*param_2)[0x10]" (parenthesized_expression "(*param_2)" ( (pointer_expression "*param_2" * identifier) )) [ number_literal ]))) ;) (expression_statement "pppppppcStack_e0[10] = (code ******)param_2;" (assignment_expression "pppppppcStack_e0[10] = (code ******)param_2" (subscript_expression "pppppppcStack_e0[10]" identifier [ number_literal ]) = (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 "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }" if (parenthesized_expression "((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0))" ( (binary_expression "(*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)" (parenthesized_expression "(*ppppppcStack_a4 != (code *****)0x0)" ( (binary_expression "*ppppppcStack_a4 != (code *****)0x0" (pointer_expression "*ppppppcStack_a4" * 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 "(((uint)pppppcStack_94 & 0x10) == 0)" ( (binary_expression "((uint)pppppcStack_94 & 0x10) == 0" (parenthesized_expression "((uint)pppppcStack_94 & 0x10)" ( (binary_expression "(uint)pppppcStack_94 & 0x10" (cast_expression "(uint)pppppcStack_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (if_statement "if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;" if (parenthesized_expression "(((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26))))" ( (binary_expression "((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))" (parenthesized_expression "((int)pppppppcVar26 < (int)ppppppcStack_a4[1])" ( (binary_expression "(int)pppppppcVar26 < (int)ppppppcStack_a4[1]" (cast_expression "(int)pppppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppppppcStack_a4[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcStack_a4[1]" identifier [ number_literal ]))) )) || (parenthesized_expression "((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))" ( (parenthesized_expression "(((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26))" ( (binary_expression "((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)" (binary_expression "((uint)pppppcStack_94 & 8) == 0" (parenthesized_expression "((uint)pppppcStack_94 & 8)" ( (binary_expression "(uint)pppppcStack_94 & 8" (cast_expression "(uint)pppppcStack_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) && (parenthesized_expression "(iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)" ( (comma_expression "iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26" (assignment_expression "iVar2 = 0" identifier = number_literal) , (binary_expression "(int)ppppppcStack_a4[1] < (int)pppppppcVar26" (cast_expression "(int)ppppppcStack_a4[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcStack_a4[1]" identifier [ number_literal ])) < (cast_expression "(int)pppppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);" (assignment_expression "iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2)" identifier = (call_expression "(**(code **)(puStack_108 + -0x7b94))(param_2)" (parenthesized_expression "(**(code **)(puStack_108 + -0x7b94))" ( (pointer_expression "**(code **)(puStack_108 + -0x7b94)" * (pointer_expression "*(code **)(puStack_108 + -0x7b94)" * (cast_expression "(code **)(puStack_108 + -0x7b94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_108 + -0x7b94)" ( (binary_expression "puStack_108 + -0x7b94" identifier + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar2 = 0;\n            break;\n          }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (break_statement "break;" break ;) })) })) (expression_statement "pppppppcVar13 = pppppppcStack_a0;" (assignment_expression "pppppppcVar13 = pppppppcStack_a0" identifier = identifier) ;) (if_statement "if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }" if (parenthesized_expression "((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf]))" ( (binary_expression "(((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])" (parenthesized_expression "(((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0))" ( (binary_expression "((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)" (parenthesized_expression "((int)pppppppcStack_a0 < 2)" ( (binary_expression "(int)pppppppcStack_a0 < 2" (cast_expression "(int)pppppppcStack_a0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)" ( (comma_expression "ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0" (assignment_expression "ppppppcVar7 = pppppppcStack_f0[1]" identifier = (subscript_expression "pppppppcStack_f0[1]" identifier [ number_literal ])) , (binary_expression "ppppppcVar7[10] == (code *****)0x0" (subscript_expression "ppppppcVar7[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))) ))) )) || (parenthesized_expression "(pppppppcVar26 != (code *******)ppppppcVar7[0xf])" ( (binary_expression "pppppppcVar26 != (code *******)ppppppcVar7[0xf]" identifier != (cast_expression "(code *******)ppppppcVar7[0xf]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0xf]" identifier [ number_literal ]))) ))) )) (compound_statement "{\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }" { (labeled_statement "LAB_0011df14:\n          param_1 = pppppppcVar29;" statement_identifier : (expression_statement "param_1 = pppppppcVar29;" (assignment_expression "param_1 = pppppppcVar29" identifier = identifier) ;)) (expression_statement "pppppppcVar13 = pppppppcStack_e0;" (assignment_expression "pppppppcVar13 = pppppppcStack_e0" identifier = identifier) ;) (if_statement "if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }" if (parenthesized_expression "(((uint)pppppcStack_94 & 0x22) == 0)" ( (binary_expression "((uint)pppppcStack_94 & 0x22) == 0" (parenthesized_expression "((uint)pppppcStack_94 & 0x22)" ( (binary_expression "(uint)pppppcStack_94 & 0x22" (cast_expression "(uint)pppppcStack_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }" { (if_statement "if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }" if (parenthesized_expression "((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               ))" ( (binary_expression "(*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )" (parenthesized_expression "(*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_c8 + 0xeb)" * (cast_expression "(code *)((int)pppppppcStack_c8 + 0xeb)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_c8 + 0xeb)" ( (binary_expression "(int)pppppppcStack_c8 + 0xeb" (cast_expression "(int)pppppppcStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) || (parenthesized_expression "(iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )" ( (comma_expression "iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0" (assignment_expression "iVar2 = *(int *)(puStack_108 + -0x7eb8)" identifier = (pointer_expression "*(int *)(puStack_108 + -0x7eb8)" * (cast_expression "(int *)(puStack_108 + -0x7eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_108 + -0x7eb8)" ( (binary_expression "puStack_108 + -0x7eb8" identifier + number_literal) ))))) , (binary_expression "(*pppppppcStack_f0)[0xe] == (code *****)0x0" (subscript_expression "(*pppppppcStack_f0)[0xe]" (parenthesized_expression "(*pppppppcStack_f0)" ( (pointer_expression "*pppppppcStack_f0" * 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              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }" { (expression_statement "param_2 = (code *******)(*pppppppcStack_f0)[0x13];" (assignment_expression "param_2 = (code *******)(*pppppppcStack_f0)[0x13]" identifier = (cast_expression "(code *******)(*pppppppcStack_f0)[0x13]" ( (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 "*" *)))))))) ) (subscript_expression "(*pppppppcStack_f0)[0x13]" (parenthesized_expression "(*pppppppcStack_f0)" ( (pointer_expression "*pppppppcStack_f0" * identifier) )) [ number_literal ]))) ;) (expression_statement "pppppppcStack_e0[0xd] = (code ******)param_2;" (assignment_expression "pppppppcStack_e0[0xd] = (code ******)param_2" (subscript_expression "pppppppcStack_e0[0xd]" identifier [ number_literal ]) = (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 "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppcVar7 = *pppppppcStack_f0;" (assignment_expression "ppppppcVar7 = *pppppppcStack_f0" identifier = (pointer_expression "*pppppppcStack_f0" * identifier)) ;) (expression_statement "pppppppcVar26 = pppppppcVar13;" (assignment_expression "pppppppcVar26 = pppppppcVar13" identifier = identifier) ;) (expression_statement "pppppppcVar29 = param_1;" (assignment_expression "pppppppcVar29 = param_1" identifier = identifier) ;) (if_statement "if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }" if (parenthesized_expression "(ppppppcVar7[0xe] == (code *****)0x0)" ( (binary_expression "ppppppcVar7[0xe] == (code *****)0x0" (subscript_expression "ppppppcVar7[0xe]" 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                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }" { (expression_statement "pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];" (assignment_expression "pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12]" (subscript_expression "pppppppcStack_e0[0xc]" identifier [ number_literal ]) = (cast_expression "(code ******)ppppppcVar7[0x12]" ( (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 "ppppppcVar7[0x12]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }" else (compound_statement "{\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }" { (expression_statement "pppppppcVar24 = (code *******)ppppppcVar7[0x12];" (assignment_expression "pppppppcVar24 = (code *******)ppppppcVar7[0x12]" identifier = (cast_expression "(code *******)ppppppcVar7[0x12]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0x12]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar7 = pppppppcStack_e0[4];" (assignment_expression "ppppppcVar7 = pppppppcStack_e0[4]" identifier = (subscript_expression "pppppppcStack_e0[4]" identifier [ number_literal ])) ;) (if_statement "if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }" if (parenthesized_expression "((int)pppppppcStack_e0[5] < (int)param_2)" ( (binary_expression "(int)pppppppcStack_e0[5] < (int)param_2" (cast_expression "(int)pppppppcStack_e0[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcStack_e0[5]" identifier [ number_literal ])) < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }" { (expression_statement "pcVar25 = *(code **)(puStack_108 + -0x7fc0);" (assignment_expression "pcVar25 = *(code **)(puStack_108 + -0x7fc0)" identifier = (pointer_expression "*(code **)(puStack_108 + -0x7fc0)" * (cast_expression "(code **)(puStack_108 + -0x7fc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_108 + -0x7fc0)" ( (binary_expression "puStack_108 + -0x7fc0" identifier + number_literal) ))))) ;) (expression_statement "pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);" (assignment_expression "pppppppcStack_e0[5] = (code ******)((int)param_2 << 1)" (subscript_expression "pppppppcStack_e0[5]" identifier [ number_literal ]) = (cast_expression "(code ******)((int)param_2 << 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)param_2 << 1)" ( (binary_expression "(int)param_2 << 1" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);" (assignment_expression "ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7)" identifier = (cast_expression "(code ******)(*pcVar25)(ppppppcVar7)" ( (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 "(*pcVar25)(ppppppcVar7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(ppppppcVar7)" ( identifier ))))) ;) (if_statement "if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }" if (parenthesized_expression "(ppppppcVar7 == (code ******)0x0)" ( (binary_expression "ppppppcVar7 == (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                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }" { (expression_statement "iVar2 = 7;" (assignment_expression "iVar2 = 7" identifier = number_literal) ;) (expression_statement "pppppppcStack_e0[2] = (code ******)0x1;" (assignment_expression "pppppppcStack_e0[2] = (code ******)0x1" (subscript_expression "pppppppcStack_e0[2]" 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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppcStack_e0[0xc] = pppppppcStack_e0[4];" (assignment_expression "pppppppcStack_e0[0xc] = pppppppcStack_e0[4]" (subscript_expression "pppppppcStack_e0[0xc]" identifier [ number_literal ]) = (subscript_expression "pppppppcStack_e0[4]" identifier [ number_literal ])) ;) (break_statement "break;" break ;) })) (expression_statement "pppppppcVar13[4] = ppppppcVar7;" (assignment_expression "pppppppcVar13[4] = ppppppcVar7" (subscript_expression "pppppppcVar13[4]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "(**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);" (call_expression "(**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2)" (parenthesized_expression "(**(code **)(puStack_108 + -0x7b80))" ( (pointer_expression "**(code **)(puStack_108 + -0x7b80)" * (pointer_expression "*(code **)(puStack_108 + -0x7b80)" * (cast_expression "(code **)(puStack_108 + -0x7b80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_108 + -0x7b80)" ( (binary_expression "puStack_108 + -0x7b80" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar7,pppppppcVar24,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "pppppppcStack_e0[0xc] = pppppppcStack_e0[4];" (assignment_expression "pppppppcStack_e0[0xc] = pppppppcStack_e0[4]" (subscript_expression "pppppppcStack_e0[0xc]" identifier [ number_literal ]) = (subscript_expression "pppppppcStack_e0[4]" identifier [ number_literal ])) ;) }))) (expression_statement "iVar2 = 100;" (assignment_expression "iVar2 = 100" identifier = number_literal) ;) (expression_statement "pppppppcStack_e0[2] = (code ******)0x1;" (assignment_expression "pppppppcStack_e0[2] = (code ******)0x1" (subscript_expression "pppppppcStack_e0[2]" 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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (break_statement "break;" break ;) })) }) (else_clause "else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }" else (compound_statement "{\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }" { (expression_statement "iVar2 = *(int *)(puStack_108 + -0x7eb8);" (assignment_expression "iVar2 = *(int *)(puStack_108 + -0x7eb8)" identifier = (pointer_expression "*(int *)(puStack_108 + -0x7eb8)" * (cast_expression "(int *)(puStack_108 + -0x7eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_108 + -0x7eb8)" ( (binary_expression "puStack_108 + -0x7eb8" identifier + number_literal) ))))) ;) }))) (expression_statement "unaff_s6 = (code ******)0x1;" (assignment_expression "unaff_s6 = (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 "(*(code *)(iVar2 + 0x605c))();" (call_expression "(*(code *)(iVar2 + 0x605c))()" (parenthesized_expression "(*(code *)(iVar2 + 0x605c))" ( (pointer_expression "*(code *)(iVar2 + 0x605c)" * (cast_expression "(code *)(iVar2 + 0x605c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x605c)" ( (binary_expression "iVar2 + 0x605c" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }" else (compound_statement "{\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }" { (expression_statement "pppppppcVar24 = pppppppcStack_f0 + 2;" (assignment_expression "pppppppcVar24 = pppppppcStack_f0 + 2" identifier = (binary_expression "pppppppcStack_f0 + 2" identifier + number_literal)) ;) (expression_statement "unaff_s6 = (code ******)0x1;" (assignment_expression "unaff_s6 = (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)) ;) (while_statement "while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }" while (parenthesized_expression "(iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0)" ( (comma_expression "iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0" (assignment_expression "iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26)" identifier = (call_expression "(**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26)" (parenthesized_expression "(**(code **)(puStack_108 + -0x7b94))" ( (pointer_expression "**(code **)(puStack_108 + -0x7b94)" * (pointer_expression "*(code **)(puStack_108 + -0x7b94)" * (cast_expression "(code **)(puStack_108 + -0x7b94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_108 + -0x7b94)" ( (binary_expression "puStack_108 + -0x7b94" identifier + number_literal) ))))) )) (argument_list "(param_2,ppppppcVar7[0x10],pppppppcVar26)" ( identifier , (subscript_expression "ppppppcVar7[0x10]" identifier [ number_literal ]) , identifier )))) , (comma_expression "param_1 = pppppppcStack_c8, iVar2 == 0" (assignment_expression "param_1 = pppppppcStack_c8" identifier = identifier) , (binary_expression "iVar2 == 0" identifier == number_literal))) )) (compound_statement "{\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }" { (expression_statement "unaff_s6 = (code ******)((int)unaff_s6 + 1);" (assignment_expression "unaff_s6 = (code ******)((int)unaff_s6 + 1)" identifier = (cast_expression "(code ******)((int)unaff_s6 + 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)unaff_s6 + 1)" ( (binary_expression "(int)unaff_s6 + 1" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;" if (parenthesized_expression "((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))" ( (binary_expression "(((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf])" (parenthesized_expression "(((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0))" ( (binary_expression "((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)" (parenthesized_expression "((int)pppppppcVar13 <= (int)unaff_s6)" ( (binary_expression "(int)pppppppcVar13 <= (int)unaff_s6" (cast_expression "(int)pppppppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)" ( (comma_expression "ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0" (assignment_expression "ppppppcVar7 = *pppppppcVar24" identifier = (pointer_expression "*pppppppcVar24" * identifier)) , (binary_expression "ppppppcVar7[10] == (code *****)0x0" (subscript_expression "ppppppcVar7[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))) ))) )) || (parenthesized_expression "(pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf])" ( (comma_expression "pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]" (assignment_expression "pppppppcVar24 = pppppppcVar24 + 1" identifier = (binary_expression "pppppppcVar24 + 1" identifier + number_literal)) , (binary_expression "pppppppcVar26 != (code *******)ppppppcVar7[0xf]" identifier != (cast_expression "(code *******)ppppppcVar7[0xf]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0xf]" identifier [ number_literal ])))) ))) )) (goto_statement "goto LAB_0011e64c;" goto statement_identifier ;)) })) (expression_statement "pppppppcVar29 = pppppppcVar13;" (assignment_expression "pppppppcVar29 = pppppppcVar13" identifier = identifier) ;) (if_statement "if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;" if (parenthesized_expression "(unaff_s6 == (code ******)0x1)" ( (binary_expression "unaff_s6 == (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)) )) (goto_statement "goto LAB_0011df14;" goto statement_identifier ;)) (labeled_statement "LAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);" statement_identifier : (expression_statement "iVar2 = *(int *)(puStack_108 + -0x7eb8);" (assignment_expression "iVar2 = *(int *)(puStack_108 + -0x7eb8)" identifier = (pointer_expression "*(int *)(puStack_108 + -0x7eb8)" * (cast_expression "(int *)(puStack_108 + -0x7eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_108 + -0x7eb8)" ( (binary_expression "puStack_108 + -0x7eb8" identifier + number_literal) ))))) ;)) (expression_statement "pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;" (assignment_expression "pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6" identifier = (binary_expression "pppppppcStack_f0 + (int)unaff_s6" identifier + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pppppppcVar26 = pppppppcStack_f0;" (assignment_expression "pppppppcVar26 = pppppppcStack_f0" identifier = identifier) ;) (do_statement "do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);" do (compound_statement "{\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          }" { (expression_statement "ppppppcVar7 = *pppppppcVar26;" (assignment_expression "ppppppcVar7 = *pppppppcVar26" identifier = (pointer_expression "*pppppppcVar26" * identifier)) ;) (expression_statement "pppppppcVar26 = pppppppcVar26 + 1;" (assignment_expression "pppppppcVar26 = pppppppcVar26 + 1" identifier = (binary_expression "pppppppcVar26 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);" (call_expression "(*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7)" (parenthesized_expression "(*(code *)(iVar2 + 0x605c))" ( (pointer_expression "*(code *)(iVar2 + 0x605c)" * (cast_expression "(code *)(iVar2 + 0x605c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x605c)" ( (binary_expression "iVar2 + 0x605c" identifier + number_literal) )))) )) (argument_list "(*(code *)((int)param_1 + 0xeb),ppppppcVar7)" ( (pointer_expression "*(code *)((int)param_1 + 0xeb)" * (cast_expression "(code *)((int)param_1 + 0xeb)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xeb)" ( (binary_expression "(int)param_1 + 0xeb" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier ))) ;) }) while (parenthesized_expression "(pppppppcVar24 != pppppppcVar26)" ( (binary_expression "pppppppcVar24 != pppppppcVar26" identifier != identifier) )) ;) }))) (expression_statement "pppppppcVar24 = pppppppcStack_f0;" (assignment_expression "pppppppcVar24 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "param_4 = pppppppcStack_c4;" (assignment_expression "param_4 = pppppppcStack_c4" identifier = identifier) ;) (expression_statement "(*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);" (call_expression "(*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4)" (parenthesized_expression "(*pcStack_c0)" ( (pointer_expression "*pcStack_c0" * identifier) )) (argument_list "(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }" if (parenthesized_expression "((*pppppppcVar24)[0x14] != (code *****)0x0)" ( (binary_expression "(*pppppppcVar24)[0x14] != (code *****)0x0" (subscript_expression "(*pppppppcVar24)[0x14]" (parenthesized_expression "(*pppppppcVar24)" ( (pointer_expression "*pppppppcVar24" * 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          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }" { (expression_statement "unaff_s8 = &ppppppcStack_8c;" (assignment_expression "unaff_s8 = &ppppppcStack_8c" identifier = (pointer_expression "&ppppppcStack_8c" & identifier)) ;) (expression_statement "unaff_s7 = &ppppppcStack_90;" (assignment_expression "unaff_s7 = &ppppppcStack_90" identifier = (pointer_expression "&ppppppcStack_90" & identifier)) ;) (expression_statement "pppppppcStack_dc = (code *******)0x0;" (assignment_expression "pppppppcStack_dc = (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppcStack_d8 = (code *******)0x0;" (assignment_expression "pppppppcStack_d8 = (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);" (assignment_expression "pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb)" identifier = (cast_expression "(code *******)((int)pppppppcStack_c8 + 0xeb)" ( (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 "((int)pppppppcStack_c8 + 0xeb)" ( (binary_expression "(int)pppppppcStack_c8 + 0xeb" (cast_expression "(int)pppppppcStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppcStack_f4 = (code *******)0x0;" (assignment_expression "pppppppcStack_f4 = (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);" (assignment_expression "pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168)" identifier = (cast_expression "(code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_108 + -0x7eb8) + 0x6168)" ( (binary_expression "*(int *)(puStack_108 + -0x7eb8) + 0x6168" (pointer_expression "*(int *)(puStack_108 + -0x7eb8)" * (cast_expression "(int *)(puStack_108 + -0x7eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_108 + -0x7eb8)" ( (binary_expression "puStack_108 + -0x7eb8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);" (assignment_expression "pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220)" identifier = (cast_expression "(code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_108 + -0x7f54) + 0x5220)" ( (binary_expression "*(int *)(puStack_108 + -0x7f54) + 0x5220" (pointer_expression "*(int *)(puStack_108 + -0x7f54)" * (cast_expression "(int *)(puStack_108 + -0x7f54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_108 + -0x7f54)" ( (binary_expression "puStack_108 + -0x7f54" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uStack_b8 = (uint)pppppcStack_94 & 4;" (assignment_expression "uStack_b8 = (uint)pppppcStack_94 & 4" identifier = (binary_expression "(uint)pppppcStack_94 & 4" (cast_expression "(uint)pppppcStack_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uStack_bc = (uint)pppppcStack_94 & 2;" (assignment_expression "uStack_bc = (uint)pppppcStack_94 & 2" identifier = (binary_expression "(uint)pppppcStack_94 & 2" (cast_expression "(uint)pppppcStack_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uStack_b4 = (uint)pppppcStack_94 & 0x20;" (assignment_expression "uStack_b4 = (uint)pppppcStack_94 & 0x20" identifier = (binary_expression "(uint)pppppcStack_94 & 0x20" (cast_expression "(uint)pppppcStack_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "pppppppcStack_d4 = unaff_s7;" (assignment_expression "pppppppcStack_d4 = unaff_s7" identifier = identifier) ;) (expression_statement "pppppppcStack_d0 = unaff_s8;" (assignment_expression "pppppppcStack_d0 = unaff_s8" identifier = identifier) ;) (do_statement "do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);" do (compound_statement "{\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          }" { (expression_statement "param_1 = pppppppcStack_f0;" (assignment_expression "param_1 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "ppppppcStack_90 = (code ******)0x0;" (assignment_expression "ppppppcStack_90 = (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 "ppppppcStack_8c = (code ******)0x0;" (assignment_expression "ppppppcStack_8c = (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 "ppppppcVar7 = *pppppppcStack_f0;" (assignment_expression "ppppppcVar7 = *pppppppcStack_f0" identifier = (pointer_expression "*pppppppcStack_f0" * identifier)) ;) (expression_statement "pppppppcVar24 = (code *******)ppppppcVar7[0x16];" (assignment_expression "pppppppcVar24 = (code *******)ppppppcVar7[0x16]" identifier = (cast_expression "(code *******)ppppppcVar7[0x16]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0x16]" identifier [ number_literal ]))) ;) (expression_statement "param_2 = (code *******)ppppppcVar7[0x17];" (assignment_expression "param_2 = (code *******)ppppppcVar7[0x17]" identifier = (cast_expression "(code *******)ppppppcVar7[0x17]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0x17]" identifier [ number_literal ]))) ;) (expression_statement "param_4 = pppppppcStack_d0;" (assignment_expression "param_4 = pppppppcStack_d0" identifier = identifier) ;) (expression_statement "(*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);" (call_expression "(*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0)" (parenthesized_expression "(*pcStack_fc)" ( (pointer_expression "*pcStack_fc" * identifier) )) (argument_list "(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }" if (parenthesized_expression "(unaff_s6 == (code ******)0x1)" ( (binary_expression "unaff_s6 == (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)) )) (compound_statement "{\n              unaff_s5 = (code ******)0x1;\n            }" { (expression_statement "unaff_s5 = (code ******)0x1;" (assignment_expression "unaff_s5 = (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              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }" else (compound_statement "{\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }" { (expression_statement "ppppppcVar7 = param_1[1];" (assignment_expression "ppppppcVar7 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "unaff_s5 = (code ******)0x1;" (assignment_expression "unaff_s5 = (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)) ;) (if_statement "if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }" if (parenthesized_expression "(((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2))" ( (binary_expression "((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)" (parenthesized_expression "((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24))" ( (binary_expression "(ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)" (parenthesized_expression "(ppppppcVar7[0x14] != (code *****)0x0)" ( (binary_expression "ppppppcVar7[0x14] != (code *****)0x0" (subscript_expression "ppppppcVar7[0x14]" 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)) )) && (parenthesized_expression "((code *******)ppppppcVar7[0x16] == pppppppcVar24)" ( (binary_expression "(code *******)ppppppcVar7[0x16] == pppppppcVar24" (cast_expression "(code *******)ppppppcVar7[0x16]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0x16]" identifier [ number_literal ])) == identifier) ))) )) && (parenthesized_expression "((code *******)ppppppcVar7[0x17] == param_2)" ( (binary_expression "(code *******)ppppppcVar7[0x17] == param_2" (cast_expression "(code *******)ppppppcVar7[0x17]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0x17]" identifier [ number_literal ])) == identifier) ))) )) (compound_statement "{\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }" { (expression_statement "param_1 = param_1 + 2;" (assignment_expression "param_1 = param_1 + 2" identifier = (binary_expression "param_1 + 2" identifier + number_literal)) ;) (while_statement "while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "unaff_s5 = (code ******)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (code ******)((int)unaff_s5 + 1)" identifier = (cast_expression "(code ******)((int)unaff_s5 + 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)unaff_s5 + 1)" ( (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "(*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);" (call_expression "(*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0)" (parenthesized_expression "(*pcStack_fc)" ( (pointer_expression "*pcStack_fc" * identifier) )) (argument_list "(pppppppcVar26,ppppppcVar7,0,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (if_statement "if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;" if (parenthesized_expression "((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0))" ( (binary_expression "(unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)" (parenthesized_expression "(unaff_s5 == unaff_s6)" ( (binary_expression "unaff_s5 == unaff_s6" identifier == identifier) )) || (parenthesized_expression "(ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)" ( (comma_expression "ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0" (assignment_expression "ppppppcVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) , (binary_expression "ppppppcVar7[0x14] == (code *****)0x0" (subscript_expression "ppppppcVar7[0x14]" 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))) ))) )) (break_statement "break;" break ;)) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (if_statement "if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;" if (parenthesized_expression "(((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2))" ( (binary_expression "((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)" (parenthesized_expression "((code *******)ppppppcVar7[0x16] != pppppppcVar24)" ( (binary_expression "(code *******)ppppppcVar7[0x16] != pppppppcVar24" (cast_expression "(code *******)ppppppcVar7[0x16]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0x16]" identifier [ number_literal ])) != identifier) )) || (parenthesized_expression "((code *******)ppppppcVar7[0x17] != param_2)" ( (binary_expression "(code *******)ppppppcVar7[0x17] != param_2" (cast_expression "(code *******)ppppppcVar7[0x17]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0x17]" identifier [ number_literal ])) != identifier) ))) )) (break_statement "break;" break ;)) })) })) }))) (if_statement "if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }" if (parenthesized_expression "(uStack_b8 != 0)" ( (binary_expression "uStack_b8 != 0" identifier != number_literal) )) (compound_statement "{\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }" { (expression_statement "param_4 = pppppppcStack_d0;" (assignment_expression "param_4 = pppppppcStack_d0" identifier = identifier) ;) (expression_statement "(*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);" (call_expression "(*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0)" (parenthesized_expression "(*pcStack_9c)" ( (pointer_expression "*pcStack_9c" * identifier) )) (argument_list "(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0)" ( (subscript_expression "ppppppcStack_a4[2]" identifier [ number_literal ]) , number_literal , identifier , identifier ))) ;) })) (expression_statement "pppppppcVar13 = pppppppcStack_e0;" (assignment_expression "pppppppcVar13 = pppppppcStack_e0" identifier = identifier) ;) (if_statement "if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }" if (parenthesized_expression "((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c))" ( (binary_expression "(uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)" (parenthesized_expression "(uStack_bc == 0)" ( (binary_expression "uStack_bc == 0" identifier == number_literal) )) || (parenthesized_expression "(pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)" ( (comma_expression "pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c" (assignment_expression "pppppppcVar6 = pppppppcStack_dc" identifier = identifier) , (comma_expression "pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c" (assignment_expression "pppppppcVar8 = pppppppcStack_d8" identifier = identifier) , (binary_expression "0 < (int)ppppppcStack_8c" number_literal < (cast_expression "(int)ppppppcStack_8c" ( (type_descriptor "int" primitive_type) ) identifier)))) ))) )) (compound_statement "{\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }" { (if_statement "if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" if (parenthesized_expression "(*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_c8 + 0xeb)" * (cast_expression "(code *)((int)pppppppcStack_c8 + 0xeb)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_c8 + 0xeb)" ( (binary_expression "(int)pppppppcStack_c8 + 0xeb" (cast_expression "(int)pppppppcStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }" { (expression_statement "unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);" (assignment_expression "unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8)" identifier = (cast_expression "(code *******)((int)param_2 - (int)pppppppcStack_d8)" ( (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 "((int)param_2 - (int)pppppppcStack_d8)" ( (binary_expression "(int)param_2 - (int)pppppppcStack_d8" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));" (assignment_expression "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc))" identifier = (cast_expression "(code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc))" ( (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 "((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc))" ( (binary_expression "(int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc)" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc)" ( (binary_expression "-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc" (unary_expression "-(uint)(param_2 < unaff_s4)" - (call_expression "(uint)(param_2 < unaff_s4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 < unaff_s4)" ( (binary_expression "param_2 < unaff_s4" identifier < identifier) )))) - (cast_expression "(int)pppppppcStack_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "pppppppcStack_e8 = unaff_s4;" (assignment_expression "pppppppcStack_e8 = unaff_s4" identifier = identifier) ;) (if_statement "if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }" if (parenthesized_expression "(((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0))))" ( (binary_expression "((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))" (parenthesized_expression "((int)pppppppcVar29 < 1)" ( (binary_expression "(int)pppppppcVar29 < 1" (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))" ( (parenthesized_expression "(pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0))" ( (binary_expression "pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)" (binary_expression "pppppppcVar29 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (parenthesized_expression "(unaff_s4 == (code *******)0x0)" ( (binary_expression "unaff_s4 == (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) ))) )) (compound_statement "{\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }" { (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" identifier = number_literal) ;) (if_statement "if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;" if (parenthesized_expression "(0 < (int)pppppppcStack_f4)" ( (binary_expression "0 < (int)pppppppcStack_f4" number_literal < (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;)) (labeled_statement "LAB_0011e414:\n                  iVar2 = 0x10b;" statement_identifier : (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" identifier = number_literal) ;)) (expression_statement "unaff_s4 = pppppppcStack_e8;" (assignment_expression "unaff_s4 = pppppppcStack_e8" identifier = identifier) ;) (if_statement "if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;" if (parenthesized_expression "(pppppppcVar24 != pppppppcVar29)" ( (binary_expression "pppppppcVar24 != pppppppcVar29" identifier != identifier) )) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;)) (if_statement "if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }" if (parenthesized_expression "(param_2 != pppppppcStack_e8)" ( (binary_expression "param_2 != pppppppcStack_e8" identifier != identifier) )) (compound_statement "{\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }" { (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" identifier = number_literal) ;) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;) })) })) }) (else_clause "else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" else (if_statement "if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" if (parenthesized_expression "((int)pppppppcStack_f4 < 1)" ( (binary_expression "(int)pppppppcStack_f4 < 1" (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }" { (expression_statement "pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);" (assignment_expression "pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8)" identifier = (cast_expression "(code *******)((int)param_2 - (int)pppppppcStack_d8)" ( (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 "((int)param_2 - (int)pppppppcStack_d8)" ( (binary_expression "(int)param_2 - (int)pppppppcStack_d8" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));" (assignment_expression "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc))" identifier = (cast_expression "(code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc))" ( (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 "((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc))" ( (binary_expression "(int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc)" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc)" ( (binary_expression "-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc" (unary_expression "-(uint)(param_2 < pppppppcStack_e8)" - (call_expression "(uint)(param_2 < pppppppcStack_e8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 < pppppppcStack_e8)" ( (binary_expression "param_2 < pppppppcStack_e8" identifier < identifier) )))) - (cast_expression "(int)pppppppcStack_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (if_statement "if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;" if (parenthesized_expression "(((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   )" ( (binary_expression "((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))" (parenthesized_expression "((int)pppppppcVar29 < 1)" ( (binary_expression "(int)pppppppcVar29 < 1" (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))" ( (parenthesized_expression "(pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0))" ( (binary_expression "pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)" (binary_expression "pppppppcVar29 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (parenthesized_expression "(pppppppcStack_e8 == (code *******)0x0)" ( (binary_expression "pppppppcStack_e8 == (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) ))) )) (goto_statement "goto LAB_0011e414;" goto statement_identifier ;)) }) (else_clause "else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" else (compound_statement "{\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" { (expression_statement "pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);" (assignment_expression "pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2)" identifier = (cast_expression "(code *******)((int)pppppppcStack_d8 - (int)param_2)" ( (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 "((int)pppppppcStack_d8 - (int)param_2)" ( (binary_expression "(int)pppppppcStack_d8 - (int)param_2" (cast_expression "(int)pppppppcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));" (assignment_expression "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24))" identifier = (cast_expression "(code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24))" ( (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 "((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24))" ( (binary_expression "(int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24)" (cast_expression "(int)pppppppcStack_dc" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24)" ( (binary_expression "-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24" (unary_expression "-(uint)(pppppppcStack_d8 < pppppppcStack_e8)" - (call_expression "(uint)(pppppppcStack_d8 < pppppppcStack_e8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppppcStack_d8 < pppppppcStack_e8)" ( (binary_expression "pppppppcStack_d8 < pppppppcStack_e8" identifier < identifier) )))) - (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (if_statement "if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;" if (parenthesized_expression "(((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0))))" ( (binary_expression "((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))" (parenthesized_expression "((int)pppppppcVar29 < 1)" ( (binary_expression "(int)pppppppcVar29 < 1" (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))" ( (parenthesized_expression "(iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0))" ( (comma_expression "iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)" (assignment_expression "iVar2 = 0x10b" identifier = number_literal) , (comma_expression "unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)" (assignment_expression "unaff_s4 = pppppppcStack_e8" identifier = identifier) , (binary_expression "pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)" (binary_expression "pppppppcVar29 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (parenthesized_expression "(pppppppcStack_e8 == (code *******)0x0)" ( (binary_expression "pppppppcStack_e8 == (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))))) )) ))) )) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;)) }))))) (expression_statement "unaff_s8 = pppppppcStack_e8;" (assignment_expression "unaff_s8 = pppppppcStack_e8" identifier = identifier) ;) (expression_statement "pppppppcVar6 = pppppppcStack_e8;" (assignment_expression "pppppppcVar6 = pppppppcStack_e8" identifier = identifier) ;) (expression_statement "pppppppcVar8 = pppppppcVar29;" (assignment_expression "pppppppcVar8 = pppppppcVar29" identifier = identifier) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);" do (compound_statement "{\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              }" { (expression_statement "iVar3 = iVar2;" (assignment_expression "iVar3 = iVar2" identifier = identifier) ;) (expression_statement "uVar18 = (int)pppppppcVar8 << 0x19;" (assignment_expression "uVar18 = (int)pppppppcVar8 << 0x19" identifier = (binary_expression "(int)pppppppcVar8 << 0x19" (cast_expression "(int)pppppppcVar8" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);" (assignment_expression "pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7)" identifier = (cast_expression "(code *******)((uint)pppppppcVar8 >> 7)" ( (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 "((uint)pppppppcVar8 >> 7)" ( (binary_expression "(uint)pppppppcVar8 >> 7" (cast_expression "(uint)pppppppcVar8" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);" (assignment_expression "pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7)" identifier = (cast_expression "(code *******)(uVar18 | (uint)pppppppcVar6 >> 7)" ( (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 "(uVar18 | (uint)pppppppcVar6 >> 7)" ( (binary_expression "uVar18 | (uint)pppppppcVar6 >> 7" identifier | (binary_expression "(uint)pppppppcVar6 >> 7" (cast_expression "(uint)pppppppcVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "iVar2 = iVar3 + 1;" (assignment_expression "iVar2 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0)" ( (binary_expression "pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0" (binary_expression "pppppppcVar8 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (binary_expression "pppppppcVar6 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) )) ;) (if_statement "if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }" if (parenthesized_expression "(uStack_cc != 0)" ( (binary_expression "uStack_cc != 0" identifier != number_literal) )) (compound_statement "{\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }" { (expression_statement "iVar2 = (int)ppppppcStack_8c + iVar3 + 2;" (assignment_expression "iVar2 = (int)ppppppcStack_8c + iVar3 + 2" identifier = (binary_expression "(int)ppppppcStack_8c + iVar3 + 2" (binary_expression "(int)ppppppcStack_8c + iVar3" (cast_expression "(int)ppppppcStack_8c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal)) ;) })) (expression_statement "ppppppcVar7 = pppppppcStack_e0[4];" (assignment_expression "ppppppcVar7 = pppppppcStack_e0[4]" identifier = (subscript_expression "pppppppcStack_e0[4]" identifier [ number_literal ])) ;) (expression_statement "unaff_s4 = pppppppcStack_e8;" (assignment_expression "unaff_s4 = pppppppcStack_e8" identifier = identifier) ;) (expression_statement "unaff_s7 = pppppppcVar29;" (assignment_expression "unaff_s7 = pppppppcVar29" identifier = identifier) ;) (if_statement "if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }" if (parenthesized_expression "((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2)" ( (binary_expression "(int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2" (cast_expression "(int)pppppppcStack_e0[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcStack_e0[5]" identifier [ number_literal ])) < (binary_expression "(int)pppppppcStack_f4 + iVar2" (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) )) (compound_statement "{\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }" { (expression_statement "pcVar25 = *(code **)(puStack_108 + -0x7fc0);" (assignment_expression "pcVar25 = *(code **)(puStack_108 + -0x7fc0)" identifier = (pointer_expression "*(code **)(puStack_108 + -0x7fc0)" * (cast_expression "(code **)(puStack_108 + -0x7fc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_108 + -0x7fc0)" ( (binary_expression "puStack_108 + -0x7fc0" identifier + number_literal) ))))) ;) (expression_statement "pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);" (assignment_expression "pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2)" (subscript_expression "pppppppcStack_e0[5]" identifier [ number_literal ]) = (cast_expression "(code ******)((int)((int)pppppppcStack_f4 + iVar2) * 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)((int)pppppppcStack_f4 + iVar2) * 2)" ( (binary_expression "(int)((int)pppppppcStack_f4 + iVar2) * 2" (cast_expression "(int)((int)pppppppcStack_f4 + iVar2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pppppppcStack_f4 + iVar2)" ( (binary_expression "(int)pppppppcStack_f4 + iVar2" (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) * number_literal) )))) ;) (expression_statement "ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);" (assignment_expression "ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7)" identifier = (cast_expression "(code ******)(*pcVar25)(ppppppcVar7)" ( (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 "(*pcVar25)(ppppppcVar7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(ppppppcVar7)" ( identifier ))))) ;) (expression_statement "unaff_s4 = pppppppcVar13;" (assignment_expression "unaff_s4 = pppppppcVar13" identifier = identifier) ;) (if_statement "if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }" if (parenthesized_expression "(ppppppcVar7 == (code ******)0x0)" ( (binary_expression "ppppppcVar7 == (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                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }" { (expression_statement "iVar2 = 7;" (assignment_expression "iVar2 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;) })) (expression_statement "pppppppcVar13[4] = ppppppcVar7;" (assignment_expression "pppppppcVar13[4] = ppppppcVar7" (subscript_expression "pppppppcVar13[4]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "param_1 = pppppppcStack_e0;" (assignment_expression "param_1 = pppppppcStack_e0" identifier = identifier) ;) (expression_statement "pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);" (assignment_expression "pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7)" identifier = (cast_expression "(code *)((int)pppppppcStack_f4 + (int)ppppppcVar7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_f4 + (int)ppppppcVar7)" ( (binary_expression "(int)pppppppcStack_f4 + (int)ppppppcVar7" (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar25 = pcVar27;" (assignment_expression "pcVar25 = pcVar27" identifier = identifier) ;) (expression_statement "pppppppcVar13 = unaff_s8;" (assignment_expression "pppppppcVar13 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_ec = pcVar27;" (assignment_expression "pcStack_ec = pcVar27" identifier = identifier) ;) (expression_statement "pppppppcVar6 = pppppppcVar24;" (assignment_expression "pppppppcVar6 = pppppppcVar24" identifier = identifier) ;) (if_statement "if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }" if (parenthesized_expression "(uStack_b4 == 0)" ( (binary_expression "uStack_b4 == 0" identifier == number_literal) )) (compound_statement "{\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }" { (do_statement "do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);" do (compound_statement "{\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                }" { (expression_statement "pcVar14 = pcVar25;" (assignment_expression "pcVar14 = pcVar25" identifier = identifier) ;) (expression_statement "uVar18 = (int)unaff_s7 << 0x19;" (assignment_expression "uVar18 = (int)unaff_s7 << 0x19" identifier = (binary_expression "(int)unaff_s7 << 0x19" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "unaff_s7 = (code *******)((uint)unaff_s7 >> 7);" (assignment_expression "unaff_s7 = (code *******)((uint)unaff_s7 >> 7)" identifier = (cast_expression "(code *******)((uint)unaff_s7 >> 7)" ( (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 "((uint)unaff_s7 >> 7)" ( (binary_expression "(uint)unaff_s7 >> 7" (cast_expression "(uint)unaff_s7" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);" (assignment_expression "unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" identifier = (cast_expression "(code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" ( (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 "(uVar18 | (uint)pppppppcVar13 >> 7)" ( (binary_expression "uVar18 | (uint)pppppppcVar13 >> 7" identifier | (binary_expression "(uint)pppppppcVar13 >> 7" (cast_expression "(uint)pppppppcVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "bVar1 = (byte)pppppppcVar13;" (assignment_expression "bVar1 = (byte)pppppppcVar13" identifier = (cast_expression "(byte)pppppppcVar13" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pcVar14 = (code)(bVar1 | 0x80);" (assignment_expression "*pcVar14 = (code)(bVar1 | 0x80)" (pointer_expression "*pcVar14" * identifier) = (call_expression "(code)(bVar1 | 0x80)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 | 0x80)" ( (binary_expression "bVar1 | 0x80" identifier | number_literal) )))) ;) (expression_statement "pcVar25 = pcVar14 + 1;" (assignment_expression "pcVar25 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) ;) (expression_statement "pppppppcVar13 = unaff_s8;" (assignment_expression "pppppppcVar13 = unaff_s8" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0)" ( (binary_expression "unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0" (binary_expression "unaff_s7 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) )) ;) (expression_statement "*pcVar14 = (code)(bVar1 & 0x7f);" (assignment_expression "*pcVar14 = (code)(bVar1 & 0x7f)" (pointer_expression "*pcVar14" * identifier) = (call_expression "(code)(bVar1 & 0x7f)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));" (assignment_expression "pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27))" identifier = (cast_expression "(code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27))" ( (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 "((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27))" ( (binary_expression "(int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27)" (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pcVar14 + 1) - (int)pcVar27)" ( (binary_expression "(int)(pcVar14 + 1) - (int)pcVar27" (cast_expression "(int)(pcVar14 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar14 + 1)" ( (binary_expression "pcVar14 + 1" identifier + number_literal) ))) - (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "pppppppcStack_f4 = pppppppcVar13;" (assignment_expression "pppppppcStack_f4 = pppppppcVar13" identifier = identifier) ;) (expression_statement "pppppppcVar8 = param_2;" (assignment_expression "pppppppcVar8 = param_2" identifier = identifier) ;) (if_statement "if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }" if (parenthesized_expression "(uStack_cc != 0)" ( (binary_expression "uStack_cc != 0" identifier != number_literal) )) (compound_statement "{\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }" { (expression_statement "(**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);" (call_expression "(**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c)" (parenthesized_expression "(**(code **)(puStack_108 + -0x7b80))" ( (pointer_expression "**(code **)(puStack_108 + -0x7b80)" * (pointer_expression "*(code **)(puStack_108 + -0x7b80)" * (cast_expression "(code **)(puStack_108 + -0x7b80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_108 + -0x7b80)" ( (binary_expression "puStack_108 + -0x7b80" identifier + number_literal) ))))) )) (argument_list "((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c)" ( (cast_expression "(code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar13 + (int)pppppppcStack_e0[4])" ( (binary_expression "(int)pppppppcVar13 + (int)pppppppcStack_e0[4]" (cast_expression "(int)pppppppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcStack_e0[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcStack_e0[4]" identifier [ number_literal ]))) ))) , identifier , identifier ))) ;) (expression_statement "*(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;" (assignment_expression "*(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c)" * (cast_expression "(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c)" ( (binary_expression "(int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c" (binary_expression "(int)pppppppcVar13 + (int)param_1[4]" (cast_expression "(int)pppppppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)param_1[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) + (cast_expression "(int)ppppppcStack_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "unaff_s4 = pppppppcVar13;" (assignment_expression "unaff_s4 = pppppppcVar13" identifier = identifier) ;) (expression_statement "pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);" (assignment_expression "pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1)" identifier = (cast_expression "(code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1)" ( (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 "((int)pppppppcVar13 + (int)ppppppcStack_8c + 1)" ( (binary_expression "(int)pppppppcVar13 + (int)ppppppcStack_8c + 1" (binary_expression "(int)pppppppcVar13 + (int)ppppppcStack_8c" (cast_expression "(int)pppppppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcStack_8c" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) )))) ;) (expression_statement "pppppppcVar8 = param_2;" (assignment_expression "pppppppcVar8 = param_2" identifier = identifier) ;) })) }) (else_clause "else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }" else (compound_statement "{\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }" { (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcStack_90;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcStack_90" identifier = (binary_expression "(uint)(char)*(code *)ppppppcStack_90" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(code *)ppppppcStack_90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);" (assignment_expression "ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c)" identifier = (cast_expression "(code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c)" ( (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)ppppppcStack_90 + (int)ppppppcStack_8c)" ( (binary_expression "(int)ppppppcStack_90 + (int)ppppppcStack_8c" (cast_expression "(int)ppppppcStack_90" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcStack_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppcVar7 = ppppppcStack_90;" (assignment_expression "ppppppcVar7 = ppppppcStack_90" identifier = identifier) ;) (if_statement "if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }" if (parenthesized_expression "(uVar18 == 1)" ( (binary_expression "uVar18 == 1" identifier == number_literal) )) (compound_statement "{\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }" { (expression_statement "pcVar25 = (code *)0x0;" (assignment_expression "pcVar25 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_1 = pppppppcVar29;" (assignment_expression "param_1 = pppppppcVar29" identifier = identifier) ;) (expression_statement "pppppppcVar6 = pppppppcStack_dc;" (assignment_expression "pppppppcVar6 = pppppppcStack_dc" identifier = identifier) ;) (expression_statement "pppppppcVar8 = pppppppcStack_d8;" (assignment_expression "pppppppcVar8 = pppppppcStack_d8" identifier = identifier) ;) (if_statement "if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }" if (parenthesized_expression "(ppppppcStack_90 < ppppppcVar31)" ( (binary_expression "ppppppcStack_90 < ppppppcVar31" identifier < identifier) )) (compound_statement "{\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }" { (expression_statement "iStack_e4 = 0;" (assignment_expression "iStack_e4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0011e284;" goto statement_identifier ;) })) }) (else_clause "else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }" else (compound_statement "{\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }" { (expression_statement "pcVar25 = (code *)0x0;" (assignment_expression "pcVar25 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pppppppcVar13 = pppppppcStack_e8;" (assignment_expression "pppppppcVar13 = pppppppcStack_e8" identifier = identifier) ;) (expression_statement "pppppppcVar6 = pppppppcVar29;" (assignment_expression "pppppppcVar6 = pppppppcVar29" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar27;" (assignment_expression "pcVar14 = pcVar27" identifier = identifier) ;) (if_statement "if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }" if (parenthesized_expression "(uVar18 == 2)" ( (binary_expression "uVar18 == 2" identifier == number_literal) )) (compound_statement "{\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }" { (do_statement "do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;" do (compound_statement "{\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    }" { (expression_statement "pcVar25 = pcVar14;" (assignment_expression "pcVar25 = pcVar14" identifier = identifier) ;) (expression_statement "uVar18 = (int)pppppppcVar6 << 0x19;" (assignment_expression "uVar18 = (int)pppppppcVar6 << 0x19" identifier = (binary_expression "(int)pppppppcVar6 << 0x19" (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pcVar14 = pcVar25 + 1;" (assignment_expression "pcVar14 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) (expression_statement "pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);" (assignment_expression "pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7)" identifier = (cast_expression "(code *******)((uint)pppppppcVar6 >> 7)" ( (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 "((uint)pppppppcVar6 >> 7)" ( (binary_expression "(uint)pppppppcVar6 >> 7" (cast_expression "(uint)pppppppcVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);" (assignment_expression "pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" identifier = (cast_expression "(code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" ( (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 "(uVar18 | (uint)pppppppcVar13 >> 7)" ( (binary_expression "uVar18 | (uint)pppppppcVar13 >> 7" identifier | (binary_expression "(uint)pppppppcVar13 >> 7" (cast_expression "(uint)pppppppcVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "bVar1 = (byte)pppppppcVar13;" (assignment_expression "bVar1 = (byte)pppppppcVar13" identifier = (cast_expression "(byte)pppppppcVar13" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pcVar25 = (code)(bVar1 | 0x80);" (assignment_expression "*pcVar25 = (code)(bVar1 | 0x80)" (pointer_expression "*pcVar25" * identifier) = (call_expression "(code)(bVar1 | 0x80)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 | 0x80)" ( (binary_expression "bVar1 | 0x80" identifier | number_literal) )))) ;) (expression_statement "pppppppcVar13 = pppppppcVar8;" (assignment_expression "pppppppcVar13 = pppppppcVar8" identifier = identifier) ;) }) while (parenthesized_expression "(pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)" ( (binary_expression "pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0" (binary_expression "pppppppcVar6 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (binary_expression "pppppppcVar8 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) )) ;) (expression_statement "*pcVar25 = (code)(bVar1 & 0x7f);" (assignment_expression "*pcVar25 = (code)(bVar1 & 0x7f)" (pointer_expression "*pcVar25" * identifier) = (call_expression "(code)(bVar1 & 0x7f)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "pcVar25 = pcVar14 + (1 - (int)pcVar27);" (assignment_expression "pcVar25 = pcVar14 + (1 - (int)pcVar27)" identifier = (binary_expression "pcVar14 + (1 - (int)pcVar27)" identifier + (parenthesized_expression "(1 - (int)pcVar27)" ( (binary_expression "1 - (int)pcVar27" number_literal - (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*pcVar14 = (code)0x2;" (assignment_expression "*pcVar14 = (code)0x2" (pointer_expression "*pcVar14" * identifier) = (cast_expression "(code)0x2" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcStack_90;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcStack_90" identifier = (binary_expression "(uint)(char)*(code *)ppppppcStack_90" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(code *)ppppppcStack_90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iStack_e4 = 1;" (assignment_expression "iStack_e4 = 1" identifier = number_literal) ;) (expression_statement "uVar17 = uVar18;" (assignment_expression "uVar17 = uVar18" identifier = identifier) ;) }) (else_clause "else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }" else (compound_statement "{\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }" { (expression_statement "iStack_e4 = 0;" (assignment_expression "iStack_e4 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = uVar18;" (assignment_expression "uVar17 = uVar18" identifier = identifier) ;) }))) (for_statement "for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }" for ( ; (binary_expression "(uVar17 & 0xfe) != 0" (parenthesized_expression "(uVar17 & 0xfe)" ( (binary_expression "uVar17 & 0xfe" identifier & number_literal) )) != number_literal) ; (assignment_expression "uVar17 = uVar18 | uVar17" identifier = (binary_expression "uVar18 | uVar17" identifier | identifier)) ) (compound_statement "{\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }" { (expression_statement "uVar17 = uVar18 & 0xffffff80;" (assignment_expression "uVar17 = uVar18 & 0xffffff80" identifier = (binary_expression "uVar18 & 0xffffff80" identifier & number_literal)) ;) (expression_statement "uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);" (assignment_expression "uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1)" identifier = (binary_expression "(uint)(char)*(code *)((int)ppppppcVar7 + 1)" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(code *)((int)ppppppcVar7 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar7 + 1)" ( (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);" (assignment_expression "ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1)" identifier = (cast_expression "(code ******)((int)ppppppcVar7 + 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)ppppppcVar7 + 1)" ( (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }" if (parenthesized_expression "(ppppppcVar7 < ppppppcVar31)" ( (binary_expression "ppppppcVar7 < ppppppcVar31" identifier < identifier) )) (compound_statement "{\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }" { (labeled_statement "LAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;" statement_identifier : (expression_statement "unaff_s4 = &ppppppcStack_88;" (assignment_expression "unaff_s4 = &ppppppcStack_88" identifier = (pointer_expression "&ppppppcStack_88" & identifier)) ;)) (expression_statement "unaff_s7 = (code *******)&SUB_00000002;" (assignment_expression "unaff_s7 = (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "unaff_s8 = (code *******)0xffffff80;" (assignment_expression "unaff_s8 = (code *******)0xffffff80" identifier = (cast_expression "(code *******)0xffffff80" ( (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 "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);" (assignment_expression "pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1)" identifier = (cast_expression "(code *******)((int)ppppppcVar7 + 1)" ( (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 "((int)ppppppcVar7 + 1)" ( (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppcStack_a8 = pppppppcVar29;" (assignment_expression "pppppppcStack_a8 = pppppppcVar29" identifier = identifier) ;) (do_statement "do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);" do (compound_statement "{\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    }" { (expression_statement "iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);" (assignment_expression "iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4)" identifier = (call_expression "(*pcStack_f8)(pppppppcVar13,unaff_s4)" (parenthesized_expression "(*pcStack_f8)" ( (pointer_expression "*pcStack_f8" * identifier) )) (argument_list "(pppppppcVar13,unaff_s4)" ( identifier , identifier )))) ;) (expression_statement "ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);" (assignment_expression "ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2)" identifier = (cast_expression "(code ******)((int)pppppppcVar13 + iVar2)" ( (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)pppppppcVar13 + iVar2)" ( (binary_expression "(int)pppppppcVar13 + iVar2" (cast_expression "(int)pppppppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcVar7;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcVar7" identifier = (binary_expression "(uint)(char)*(code *)ppppppcVar7" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(code *)ppppppcVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar17 = uVar18;" (assignment_expression "uVar17 = uVar18" identifier = identifier) ;) (if_statement "if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }" if (parenthesized_expression "(uVar18 == 2)" ( (binary_expression "uVar18 == 2" identifier == number_literal) )) (compound_statement "{\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }" { (expression_statement "pcVar21 = pcVar27 + (int)pcVar25;" (assignment_expression "pcVar21 = pcVar27 + (int)pcVar25" identifier = (binary_expression "pcVar27 + (int)pcVar25" identifier + (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pppppppcVar13 = pppppppcStack_e8;" (assignment_expression "pppppppcVar13 = pppppppcStack_e8" identifier = identifier) ;) (expression_statement "pppppppcVar6 = pppppppcStack_a8;" (assignment_expression "pppppppcVar6 = pppppppcStack_a8" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar21;" (assignment_expression "pcVar14 = pcVar21" identifier = identifier) ;) (if_statement "if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }" if (parenthesized_expression "(iStack_e4 == 0)" ( (binary_expression "iStack_e4 == 0" identifier == number_literal) )) (compound_statement "{\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }" { (do_statement "do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);" do (compound_statement "{\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          }" { (expression_statement "pcVar20 = pcVar14;" (assignment_expression "pcVar20 = pcVar14" identifier = identifier) ;) (expression_statement "uVar18 = (int)pppppppcVar6 << 0x19;" (assignment_expression "uVar18 = (int)pppppppcVar6 << 0x19" identifier = (binary_expression "(int)pppppppcVar6 << 0x19" (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);" (assignment_expression "pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7)" identifier = (cast_expression "(code *******)((uint)pppppppcVar6 >> 7)" ( (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 "((uint)pppppppcVar6 >> 7)" ( (binary_expression "(uint)pppppppcVar6 >> 7" (cast_expression "(uint)pppppppcVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);" (assignment_expression "pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" identifier = (cast_expression "(code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" ( (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 "(uVar18 | (uint)pppppppcVar13 >> 7)" ( (binary_expression "uVar18 | (uint)pppppppcVar13 >> 7" identifier | (binary_expression "(uint)pppppppcVar13 >> 7" (cast_expression "(uint)pppppppcVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "bVar1 = (byte)pppppppcVar13;" (assignment_expression "bVar1 = (byte)pppppppcVar13" identifier = (cast_expression "(byte)pppppppcVar13" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pcVar20 = (code)(bVar1 | 0x80);" (assignment_expression "*pcVar20 = (code)(bVar1 | 0x80)" (pointer_expression "*pcVar20" * identifier) = (call_expression "(code)(bVar1 | 0x80)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 | 0x80)" ( (binary_expression "bVar1 | 0x80" identifier | number_literal) )))) ;) (expression_statement "pppppppcVar13 = pppppppcVar29;" (assignment_expression "pppppppcVar13 = pppppppcVar29" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar20 + 1;" (assignment_expression "pcVar14 = pcVar20 + 1" identifier = (binary_expression "pcVar20 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0)" ( (binary_expression "pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0" (binary_expression "pppppppcVar6 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (binary_expression "pppppppcVar29 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) )) ;) (expression_statement "pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);" (assignment_expression "pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21)" identifier = (binary_expression "pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21)" (binary_expression "pcVar20 + 1" identifier + number_literal) + (parenthesized_expression "((int)pcVar25 - (int)pcVar21)" ( (binary_expression "(int)pcVar25 - (int)pcVar21" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*pcVar20 = (code)(bVar1 & 0x7f);" (assignment_expression "*pcVar20 = (code)(bVar1 & 0x7f)" (pointer_expression "*pcVar20" * identifier) = (call_expression "(code)(bVar1 & 0x7f)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "pcVar21 = pcVar27 + (int)pcVar25;" (assignment_expression "pcVar21 = pcVar27 + (int)pcVar25" identifier = (binary_expression "pcVar27 + (int)pcVar25" identifier + (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "pcVar20 = pcVar25 + 1;" (assignment_expression "pcVar20 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar21 = (code)0x1;" (assignment_expression "*pcVar21 = (code)0x1" (pointer_expression "*pcVar21" * identifier) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "uVar18 = uStack_84;" (assignment_expression "uVar18 = uStack_84" identifier = identifier) ;) (expression_statement "ppppppcVar10 = ppppppcStack_88;" (assignment_expression "ppppppcVar10 = ppppppcStack_88" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar27 + (int)pcVar20;" (assignment_expression "pcVar14 = pcVar27 + (int)pcVar20" identifier = (binary_expression "pcVar27 + (int)pcVar20" identifier + (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (do_statement "do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);" do (compound_statement "{\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        }" { (expression_statement "pcVar25 = pcVar14;" (assignment_expression "pcVar25 = pcVar14" identifier = identifier) ;) (expression_statement "uVar17 = (int)ppppppcVar10 << 0x19;" (assignment_expression "uVar17 = (int)ppppppcVar10 << 0x19" identifier = (binary_expression "(int)ppppppcVar10 << 0x19" (cast_expression "(int)ppppppcVar10" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pcVar14 = pcVar25 + 1;" (assignment_expression "pcVar14 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) (expression_statement "ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);" (assignment_expression "ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7)" identifier = (cast_expression "(code ******)((uint)ppppppcVar10 >> 7)" ( (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)ppppppcVar10 >> 7)" ( (binary_expression "(uint)ppppppcVar10 >> 7" (cast_expression "(uint)ppppppcVar10" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar17 = uVar17 | uVar18 >> 7;" (assignment_expression "uVar17 = uVar17 | uVar18 >> 7" identifier = (binary_expression "uVar17 | uVar18 >> 7" identifier | (binary_expression "uVar18 >> 7" identifier >> number_literal))) ;) (expression_statement "bVar1 = (byte)uVar18;" (assignment_expression "bVar1 = (byte)uVar18" identifier = (cast_expression "(byte)uVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pcVar25 = (code)(bVar1 | 0x80);" (assignment_expression "*pcVar25 = (code)(bVar1 | 0x80)" (pointer_expression "*pcVar25" * identifier) = (call_expression "(code)(bVar1 | 0x80)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 | 0x80)" ( (binary_expression "bVar1 | 0x80" identifier | number_literal) )))) ;) (expression_statement "uVar18 = uVar17;" (assignment_expression "uVar18 = uVar17" identifier = identifier) ;) }) while (parenthesized_expression "(ppppppcVar10 != (code ******)0x0 || uVar17 != 0)" ( (binary_expression "ppppppcVar10 != (code ******)0x0 || uVar17 != 0" (binary_expression "ppppppcVar10 != (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)) || (binary_expression "uVar17 != 0" identifier != number_literal)) )) ;) (expression_statement "iStack_e4 = 1;" (assignment_expression "iStack_e4 = 1" identifier = number_literal) ;) (expression_statement "*pcVar25 = (code)(bVar1 & 0x7f);" (assignment_expression "*pcVar25 = (code)(bVar1 & 0x7f)" (pointer_expression "*pcVar25" * identifier) = (call_expression "(code)(bVar1 & 0x7f)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;" (assignment_expression "pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1" identifier = (binary_expression "pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1" (binary_expression "pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20))" identifier + (parenthesized_expression "((int)pcVar20 - (int)(pcVar27 + (int)pcVar20))" ( (binary_expression "(int)pcVar20 - (int)(pcVar27 + (int)pcVar20)" (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(pcVar27 + (int)pcVar20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar27 + (int)pcVar20)" ( (binary_expression "pcVar27 + (int)pcVar20" identifier + (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))) + number_literal)) ;) (expression_statement "pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;" (assignment_expression "pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2" (subscript_expression "pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))]" identifier [ (cast_expression "(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))" ( (binary_expression "pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20))" identifier + (parenthesized_expression "((int)pcVar20 - (int)(pcVar27 + (int)pcVar20))" ( (binary_expression "(int)pcVar20 - (int)(pcVar27 + (int)pcVar20)" (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(pcVar27 + (int)pcVar20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar27 + (int)pcVar20)" ( (binary_expression "pcVar27 + (int)pcVar20" identifier + (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))) ))) ]) = (cast_expression "(code)0x2" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcVar7;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcVar7" identifier = (binary_expression "(uint)(char)*(code *)ppppppcVar7" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(code *)ppppppcVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar17 = uVar18;" (assignment_expression "uVar17 = uVar18" identifier = identifier) ;) })) (for_statement "for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }" for ( ; (binary_expression "(uVar17 & 0xfe) != 0" (parenthesized_expression "(uVar17 & 0xfe)" ( (binary_expression "uVar17 & 0xfe" identifier & number_literal) )) != number_literal) ; (assignment_expression "uVar17 = uVar18 | uVar17" identifier = (binary_expression "uVar18 | uVar17" identifier | identifier)) ) (compound_statement "{\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }" { (expression_statement "ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);" (assignment_expression "ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1)" identifier = (cast_expression "(code ******)((int)ppppppcVar7 + 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)ppppppcVar7 + 1)" ( (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar17 = uVar18 & 0xffffff80;" (assignment_expression "uVar17 = uVar18 & 0xffffff80" identifier = (binary_expression "uVar18 & 0xffffff80" identifier & number_literal)) ;) (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcVar7;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcVar7" identifier = (binary_expression "(uint)(char)*(code *)ppppppcVar7" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(code *)ppppppcVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (expression_statement "pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);" (assignment_expression "pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1)" identifier = (cast_expression "(code *******)((int)ppppppcVar7 + 1)" ( (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 "((int)ppppppcVar7 + 1)" ( (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppcVar13 = pppppppcVar29;" (assignment_expression "pppppppcVar13 = pppppppcVar29" identifier = identifier) ;) }) while (parenthesized_expression "(ppppppcVar7 < ppppppcVar31)" ( (binary_expression "ppppppcVar7 < ppppppcVar31" identifier < identifier) )) ;) })) (if_statement "if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }" if (parenthesized_expression "(iStack_e4 != 0)" ( (binary_expression "iStack_e4 != 0" identifier != number_literal) )) (compound_statement "{\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }" { (expression_statement "pcVar27 = pcStack_ec + (int)pcVar25;" (assignment_expression "pcVar27 = pcStack_ec + (int)pcVar25" identifier = (binary_expression "pcStack_ec + (int)pcVar25" identifier + (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar25 = pcVar25 + 1;" (assignment_expression "pcVar25 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar27 = (code)0x0;" (assignment_expression "*pcVar27 = (code)0x0" (pointer_expression "*pcVar27" * identifier) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) })) (expression_statement "param_1 = pppppppcVar29;" (assignment_expression "param_1 = pppppppcVar29" identifier = identifier) ;) (expression_statement "pppppppcVar6 = pppppppcStack_dc;" (assignment_expression "pppppppcVar6 = pppppppcStack_dc" identifier = identifier) ;) (expression_statement "pppppppcVar8 = pppppppcStack_d8;" (assignment_expression "pppppppcVar8 = pppppppcStack_d8" identifier = identifier) ;) (if_statement "if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }" if (parenthesized_expression "(pcVar25 != (code *)0x0)" ( (binary_expression "pcVar25 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }" { (expression_statement "pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);" (assignment_expression "pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25)" identifier = (cast_expression "(code *******)((int)pppppppcStack_f4 + (int)pcVar25)" ( (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 "((int)pppppppcStack_f4 + (int)pcVar25)" ( (binary_expression "(int)pppppppcStack_f4 + (int)pcVar25" (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar6 = pppppppcVar24;" (assignment_expression "pppppppcVar6 = pppppppcVar24" identifier = identifier) ;) (expression_statement "pppppppcVar8 = param_2;" (assignment_expression "pppppppcVar8 = param_2" identifier = identifier) ;) })) }))) }))) })) (expression_statement "pppppppcStack_d8 = pppppppcVar8;" (assignment_expression "pppppppcStack_d8 = pppppppcVar8" identifier = identifier) ;) (expression_statement "pppppppcStack_dc = pppppppcVar6;" (assignment_expression "pppppppcStack_dc = pppppppcVar6" identifier = identifier) ;) (expression_statement "param_2 = pppppppcStack_f0;" (assignment_expression "param_2 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "param_4 = pppppppcStack_c4;" (assignment_expression "param_4 = pppppppcStack_c4" identifier = identifier) ;) (expression_statement "(*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);" (call_expression "(*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4)" (parenthesized_expression "(*pcStack_c0)" ( (pointer_expression "*pcStack_c0" * identifier) )) (argument_list "(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4)" ( identifier , identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "((*param_2)[0x14] != (code *****)0x0)" ( (binary_expression "(*param_2)[0x14] != (code *****)0x0" (subscript_expression "(*param_2)[0x14]" (parenthesized_expression "(*param_2)" ( (pointer_expression "*param_2" * 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)) )) ;) (if_statement "if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;" if (parenthesized_expression "(0 < (int)pppppppcStack_f4)" ( (binary_expression "0 < (int)pppppppcStack_f4" number_literal < (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011e6ac;" goto statement_identifier ;)) })) (expression_statement "pppppppcStack_e0[2] = unaff_s6;" (assignment_expression "pppppppcStack_e0[2] = unaff_s6" (subscript_expression "pppppppcStack_e0[2]" identifier [ number_literal ]) = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) }) (else_clause "else {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }" else (compound_statement "{\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }" { (expression_statement "pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);" (assignment_expression "pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674)" identifier = (cast_expression "(code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674)" ( (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 "(*(int *)(puVar32 + 0x3da38) + -0x2674)" ( (binary_expression "*(int *)(puVar32 + 0x3da38) + -0x2674" (pointer_expression "*(int *)(puVar32 + 0x3da38)" * (cast_expression "(int *)(puVar32 + 0x3da38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3da38)" ( (binary_expression "puVar32 + 0x3da38" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;" if (parenthesized_expression "(pppppppcStack_a0 != (code *******)0x0)" ( (binary_expression "pppppppcStack_a0 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_0011dd08;" goto statement_identifier ;)) (labeled_statement "LAB_0011de08:\n    iVar2 = 0;" statement_identifier : (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;)) }))) (labeled_statement "LAB_0011ddb4:\n  if (piStack_7c == (int *)*piStack_98) {\n    return iVar2;\n  }" statement_identifier : (if_statement "if (piStack_7c == (int *)*piStack_98) {\n    return iVar2;\n  }" if (parenthesized_expression "(piStack_7c == (int *)*piStack_98)" ( (binary_expression "piStack_7c == (int *)*piStack_98" identifier == (cast_expression "(int *)*piStack_98" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piStack_98" * identifier))) )) (compound_statement "{\n    return iVar2;\n  }" { (return_statement "return iVar2;" return identifier ;) }))) (expression_statement "pcVar25 = *(code **)(puStack_108 + -0x7ba0);" (assignment_expression "pcVar25 = *(code **)(puStack_108 + -0x7ba0)" identifier = (pointer_expression "*(code **)(puStack_108 + -0x7ba0)" * (cast_expression "(code **)(puStack_108 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_108 + -0x7ba0)" ( (binary_expression "puStack_108 + -0x7ba0" identifier + number_literal) ))))) ;) (expression_statement "uVar34 = 0x11e6f8;" (assignment_expression "uVar34 = 0x11e6f8" identifier = number_literal) ;) (expression_statement "piVar11 = piStack_7c;" (assignment_expression "piVar11 = piStack_7c" identifier = identifier) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar22 = *(int **)(pcVar25 + 0x3d334);" (assignment_expression "piVar22 = *(int **)(pcVar25 + 0x3d334)" identifier = (pointer_expression "*(int **)(pcVar25 + 0x3d334)" * (cast_expression "(int **)(pcVar25 + 0x3d334)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3d334)" ( (binary_expression "pcVar25 + 0x3d334" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = piVar11[0x1a];" (assignment_expression "iVar3 = piVar11[0x1a]" identifier = (subscript_expression "piVar11[0x1a]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = piVar11[0x19] + 1;" (assignment_expression "uVar18 = piVar11[0x19] + 1" identifier = (binary_expression "piVar11[0x19] + 1" (subscript_expression "piVar11[0x19]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "iVar2 = piVar11[0x1b];" (assignment_expression "iVar2 = piVar11[0x1b]" identifier = (subscript_expression "piVar11[0x1b]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = iVar3 + 1;" (assignment_expression "iVar15 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "iStack_144 = *piVar22;" (assignment_expression "iStack_144 = *piVar22" identifier = (pointer_expression "*piVar22" * identifier)) ;) (expression_statement "uVar12 = *(undefined4 *)(*piVar11 + 0xc);" (assignment_expression "uVar12 = *(undefined4 *)(*piVar11 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(*piVar11 + 0xc)" * (cast_expression "(undefined4 *)(*piVar11 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar11 + 0xc)" ( (binary_expression "*piVar11 + 0xc" (pointer_expression "*piVar11" * identifier) + number_literal) ))))) ;) (expression_statement "piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18];" (assignment_expression "piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18]" (subscript_expression "piVar11[0x18]" identifier [ number_literal ]) = (binary_expression "(uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18]" (call_expression "(uint)(uVar18 < (uint)piVar11[0x19])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar18 < (uint)piVar11[0x19])" ( (binary_expression "uVar18 < (uint)piVar11[0x19]" identifier < (cast_expression "(uint)piVar11[0x19]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar11[0x19]" identifier [ number_literal ]))) ))) + (subscript_expression "piVar11[0x18]" identifier [ number_literal ]))) ;) (expression_statement "piVar11[0x19] = uVar18;" (assignment_expression "piVar11[0x19] = uVar18" (subscript_expression "piVar11[0x19]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar11[0x1a] = iVar15;" (assignment_expression "piVar11[0x1a] = iVar15" (subscript_expression "piVar11[0x1a]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppppcStack_140 = param_2;" (assignment_expression "pppppppcStack_140 = param_2" identifier = identifier) ;) (expression_statement "pppppppcStack_13c = pppppppcVar24;" (assignment_expression "pppppppcStack_13c = pppppppcVar24" identifier = identifier) ;) (expression_statement "pppppppcStack_138 = pppppppcVar26;" (assignment_expression "pppppppcStack_138 = pppppppcVar26" identifier = identifier) ;) (expression_statement "pppppppcStack_134 = pppppppcVar29;" (assignment_expression "pppppppcStack_134 = pppppppcVar29" identifier = identifier) ;) (expression_statement "pppppppcStack_130 = unaff_s4;" (assignment_expression "pppppppcStack_130 = unaff_s4" identifier = identifier) ;) (expression_statement "ppppppcStack_12c = unaff_s5;" (assignment_expression "ppppppcStack_12c = unaff_s5" identifier = identifier) ;) (expression_statement "ppppppcStack_128 = unaff_s6;" (assignment_expression "ppppppcStack_128 = unaff_s6" identifier = identifier) ;) (expression_statement "pppppppcStack_124 = unaff_s7;" (assignment_expression "pppppppcStack_124 = unaff_s7" identifier = identifier) ;) (expression_statement "pppppppcStack_120 = unaff_s8;" (assignment_expression "pppppppcStack_120 = unaff_s8" identifier = identifier) ;) (expression_statement "uStack_11c = uVar34;" (assignment_expression "uStack_11c = uVar34" identifier = identifier) ;) (if_statement "if (iVar15 < iVar2) {\n    piVar16 = (int *)(iVar15 * 0x10);\n    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);\n    iVar15 = *piVar19;\n    if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }" if (parenthesized_expression "(iVar15 < iVar2)" ( (binary_expression "iVar15 < iVar2" identifier < identifier) )) (compound_statement "{\n    piVar16 = (int *)(iVar15 * 0x10);\n    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);\n    iVar15 = *piVar19;\n    if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }" { (expression_statement "piVar16 = (int *)(iVar15 * 0x10);" (assignment_expression "piVar16 = (int *)(iVar15 * 0x10)" identifier = (cast_expression "(int *)(iVar15 * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 * 0x10)" ( (binary_expression "iVar15 * 0x10" identifier * number_literal) )))) ;) (expression_statement "piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);" (assignment_expression "piVar19 = (int *)(piVar11[0x1c] + (int)piVar16)" identifier = (cast_expression "(int *)(piVar11[0x1c] + (int)piVar16)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar11[0x1c] + (int)piVar16)" ( (binary_expression "piVar11[0x1c] + (int)piVar16" (subscript_expression "piVar11[0x1c]" identifier [ number_literal ]) + (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar15 = *piVar19;" (assignment_expression "iVar15 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (if_statement "if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }" if (parenthesized_expression "(iVar15 < 1)" ( (binary_expression "iVar15 < 1" identifier < number_literal) )) (compound_statement "{\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }" { (if_statement "if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }" if (parenthesized_expression "((iVar15 == 0) && (piVar19[1] != 0))" ( (binary_expression "(iVar15 == 0) && (piVar19[1] != 0)" (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) && (parenthesized_expression "(piVar19[1] != 0)" ( (binary_expression "piVar19[1] != 0" (subscript_expression "piVar19[1]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n        iVar3 = 0;\n      }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }" else (compound_statement "{\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }" { (expression_statement "iVar3 = iVar3 + 2;" (assignment_expression "iVar3 = iVar3 + 2" identifier = (binary_expression "iVar3 + 2" identifier + number_literal)) ;) (expression_statement "iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;" (assignment_expression "iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10" identifier = (binary_expression "(int)piVar16 + piVar11[0x1c] + -0x10" (binary_expression "(int)piVar16 + piVar11[0x1c]" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "piVar11[0x1c]" identifier [ number_literal ])) + number_literal)) ;) (do_statement "do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));" do (compound_statement "{\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        }" { (expression_statement "piVar11[0x1a] = iVar3;" (assignment_expression "piVar11[0x1a] = iVar3" (subscript_expression "piVar11[0x1a]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 == iVar2) goto LAB_0011e7d4;" if (parenthesized_expression "(iVar3 == iVar2)" ( (binary_expression "iVar3 == iVar2" identifier == identifier) )) (goto_statement "goto LAB_0011e7d4;" goto statement_identifier ;)) (expression_statement "piVar16 = *(int **)(iVar15 + 0x20);" (assignment_expression "piVar16 = *(int **)(iVar15 + 0x20)" identifier = (pointer_expression "*(int **)(iVar15 + 0x20)" * (cast_expression "(int **)(iVar15 + 0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "piVar19 = (int *)(iVar15 + 0x24);" (assignment_expression "piVar19 = (int *)(iVar15 + 0x24)" identifier = (cast_expression "(int *)(iVar15 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x24)" ( (binary_expression "iVar15 + 0x24" identifier + number_literal) )))) ;) (expression_statement "iVar15 = iVar15 + 0x10;" (assignment_expression "iVar15 = iVar15 + 0x10" identifier = (binary_expression "iVar15 + 0x10" identifier + number_literal)) ;) (if_statement "if (0 < (int)piVar16) goto LAB_0011e880;" if (parenthesized_expression "(0 < (int)piVar16)" ( (binary_expression "0 < (int)piVar16" number_literal < (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011e880;" goto statement_identifier ;)) }) while (parenthesized_expression "((piVar16 != (int *)0x0) || (*piVar19 == 0))" ( (binary_expression "(piVar16 != (int *)0x0) || (*piVar19 == 0)" (parenthesized_expression "(piVar16 != (int *)0x0)" ( (binary_expression "piVar16 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar19 == 0)" ( (binary_expression "*piVar19 == 0" (pointer_expression "*piVar19" * identifier) == number_literal) ))) )) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0011e884;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }" else (compound_statement "{\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }" { (labeled_statement "LAB_0011e7d4:\n    piVar16 = piVar11 + 1;" statement_identifier : (expression_statement "piVar16 = piVar11 + 1;" (assignment_expression "piVar16 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;)) (expression_statement "iVar3 = FUN_0011dc88(uVar12);" (assignment_expression "iVar3 = FUN_0011dc88(uVar12)" identifier = (call_expression "FUN_0011dc88(uVar12)" identifier (argument_list "(uVar12)" ( identifier )))) ;) (if_statement "if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }" if (parenthesized_expression "(iVar3 != 100)" ( (binary_expression "iVar3 != 100" identifier != number_literal) )) (compound_statement "{\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }" { (expression_statement "piVar11[0x16] = 1;" (assignment_expression "piVar11[0x16] = 1" (subscript_expression "piVar11[0x16]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0011e884;" goto statement_identifier ;) })) (if_statement "if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }" if (parenthesized_expression "(piVar11[0x13] != 0)" ( (binary_expression "piVar11[0x13] != 0" (subscript_expression "piVar11[0x13]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }" { (expression_statement "iVar15 = piVar11[0xc];" (assignment_expression "iVar15 = piVar11[0xc]" identifier = (subscript_expression "piVar11[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar11[0x14];" (assignment_expression "iVar3 = piVar11[0x14]" identifier = (subscript_expression "piVar11[0x14]" identifier [ number_literal ])) ;) (expression_statement "piVar16 = (int *)piVar11[0xb];" (assignment_expression "piVar16 = (int *)piVar11[0xb]" identifier = (cast_expression "(int *)piVar11[0xb]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[0xb]" identifier [ number_literal ]))) ;) (expression_statement "iVar2 = iVar15;" (assignment_expression "iVar2 = iVar15" identifier = identifier) ;) (if_statement "if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }" if (parenthesized_expression "(iVar3 < iVar15)" ( (binary_expression "iVar3 < iVar15" identifier < identifier) )) (compound_statement "{\n        iVar2 = iVar3;\n      }" { (expression_statement "iVar2 = iVar3;" (assignment_expression "iVar2 = iVar3" identifier = identifier) ;) })) (expression_statement "iVar4 = (**(code **)(pcVar25 + 0x3d324))();" (assignment_expression "iVar4 = (**(code **)(pcVar25 + 0x3d324))()" identifier = (call_expression "(**(code **)(pcVar25 + 0x3d324))()" (parenthesized_expression "(**(code **)(pcVar25 + 0x3d324))" ( (pointer_expression "**(code **)(pcVar25 + 0x3d324)" * (pointer_expression "*(code **)(pcVar25 + 0x3d324)" * (cast_expression "(code **)(pcVar25 + 0x3d324)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3d324)" ( (binary_expression "pcVar25 + 0x3d324" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }" if (parenthesized_expression "((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15))))" ( (binary_expression "(iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))" (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar4 == 0 && (iVar3 < iVar15)))" ( (parenthesized_expression "(iVar4 == 0 && (iVar3 < iVar15))" ( (binary_expression "iVar4 == 0 && (iVar3 < iVar15)" (binary_expression "iVar4 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 < iVar15)" ( (binary_expression "iVar3 < iVar15" identifier < identifier) ))) )) ))) )) (compound_statement "{\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "piVar11[0x16] = 1;" (assignment_expression "piVar11[0x16] = 1" (subscript_expression "piVar11[0x16]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0011e884;" goto statement_identifier ;) })) })) (expression_statement "iVar2 = piVar11[0x1b];" (assignment_expression "iVar2 = piVar11[0x1b]" identifier = (subscript_expression "piVar11[0x1b]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar11[0xe];" (assignment_expression "iVar3 = piVar11[0xe]" identifier = (subscript_expression "piVar11[0xe]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = piVar11[0xd];" (assignment_expression "iVar15 = piVar11[0xd]" identifier = (subscript_expression "piVar11[0xd]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }" if (parenthesized_expression "(iVar2 < 2)" ( (binary_expression "iVar2 < 2" identifier < number_literal) )) (compound_statement "{\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }" { (expression_statement "iVar2 = 2;" (assignment_expression "iVar2 = 2" identifier = number_literal) ;) (expression_statement "piVar16 = piVar11 + 0x1c;" (assignment_expression "piVar16 = piVar11 + 0x1c" identifier = (binary_expression "piVar11 + 0x1c" identifier + number_literal)) ;) (expression_statement "iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);" (assignment_expression "iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b)" identifier = (call_expression "(*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b)" (parenthesized_expression "(*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))" ( (pointer_expression "*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88)" * (cast_expression "(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x3d024) + -0x5e88)" ( (binary_expression "*(int *)(pcVar25 + 0x3d024) + -0x5e88" (pointer_expression "*(int *)(pcVar25 + 0x3d024)" * (cast_expression "(int *)(pcVar25 + 0x3d024)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3d024)" ( (binary_expression "pcVar25 + 0x3d024" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar11 + 0x1b)" ( (binary_expression "piVar11 + 0x1b" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }" { (labeled_statement "LAB_0011ec20:\n        iVar3 = 7;" statement_identifier : (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;)) (goto_statement "goto LAB_0011e884;" goto statement_identifier ;) })) (expression_statement "iVar2 = piVar11[0x1b];" (assignment_expression "iVar2 = piVar11[0x1b]" identifier = (subscript_expression "piVar11[0x1b]" identifier [ number_literal ])) ;) })) (expression_statement "iVar2 = iVar2 << 4;" (assignment_expression "iVar2 = iVar2 << 4" identifier = (binary_expression "iVar2 << 4" identifier << number_literal)) ;) (expression_statement "piVar16 = (int *)0x0;" (assignment_expression "piVar16 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);" (call_expression "(**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c])" (parenthesized_expression "(**(code **)(pcVar25 + 0x3d2bc))" ( (pointer_expression "**(code **)(pcVar25 + 0x3d2bc)" * (pointer_expression "*(code **)(pcVar25 + 0x3d2bc)" * (cast_expression "(code **)(pcVar25 + 0x3d2bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3d2bc)" ( (binary_expression "pcVar25 + 0x3d2bc" identifier + number_literal) ))))) )) (argument_list "(piVar11[0x1c])" ( (subscript_expression "piVar11[0x1c]" identifier [ number_literal ]) ))) ;) (if_statement "if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }" { (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);" (assignment_expression "pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74)" identifier = (cast_expression "(code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x3cf64) + 0xf74)" ( (binary_expression "*(int *)(pcVar25 + 0x3cf64) + 0xf74" (pointer_expression "*(int *)(pcVar25 + 0x3cf64)" * (cast_expression "(int *)(pcVar25 + 0x3cf64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3cf64)" ( (binary_expression "pcVar25 + 0x3cf64" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "iVar4 = (*pcVar27)(iVar15,&iStack_150);" (assignment_expression "iVar4 = (*pcVar27)(iVar15,&iStack_150)" identifier = (call_expression "(*pcVar27)(iVar15,&iStack_150)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15,&iStack_150)" ( identifier , (pointer_expression "&iStack_150" & identifier) )))) ;) (expression_statement "iVar30 = *(int *)(pcVar25 + 0x3d024);" (assignment_expression "iVar30 = *(int *)(pcVar25 + 0x3d024)" identifier = (pointer_expression "*(int *)(pcVar25 + 0x3d024)" * (cast_expression "(int *)(pcVar25 + 0x3d024)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3d024)" ( (binary_expression "pcVar25 + 0x3d024" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];" statement_identifier : (expression_statement "piVar9 = (int *)piVar11[0x1c];" (assignment_expression "piVar9 = (int *)piVar11[0x1c]" identifier = (cast_expression "(int *)piVar11[0x1c]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[0x1c]" identifier [ number_literal ]))) ;)) (expression_statement "piVar19 = (int *)piVar9[1];" (assignment_expression "piVar19 = (int *)piVar9[1]" identifier = (cast_expression "(int *)piVar9[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar2 = *piVar9;" (assignment_expression "iVar2 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "piVar16 = (int *)((int)piVar19 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar19 + 1)" identifier = (cast_expression "(int *)((int)piVar19 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + 1)" ( (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar9[1] = (int)piVar16;" (assignment_expression "piVar9[1] = (int)piVar16" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar9 = (uint)(piVar16 < piVar19) + iVar2;" (assignment_expression "*piVar9 = (uint)(piVar16 < piVar19) + iVar2" (pointer_expression "*piVar9" * identifier) = (binary_expression "(uint)(piVar16 < piVar19) + iVar2" (call_expression "(uint)(piVar16 < piVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar16 < piVar19)" ( (binary_expression "piVar16 < piVar19" identifier < identifier) ))) + identifier)) ;) (if_statement "if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }" if (parenthesized_expression "(iVar4 < iVar3)" ( (binary_expression "iVar4 < iVar3" identifier < identifier) )) (compound_statement "{\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }" { (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "piVar16 = &iStack_150;" (assignment_expression "piVar16 = &iStack_150" identifier = (pointer_expression "&iStack_150" & identifier)) ;) (expression_statement "iVar33 = (*pcVar27)(iVar15 + iVar4);" (assignment_expression "iVar33 = (*pcVar27)(iVar15 + iVar4)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar4)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar4)" ( (binary_expression "iVar15 + iVar4" identifier + identifier) )))) ;) (expression_statement "iVar33 = iVar33 + iVar4;" (assignment_expression "iVar33 = iVar33 + iVar4" identifier = (binary_expression "iVar33 + iVar4" identifier + identifier)) ;) (if_statement "if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }" if (parenthesized_expression "((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c))))" ( (binary_expression "(0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))" (parenthesized_expression "(0 < iStack_150)" ( (binary_expression "0 < iStack_150" number_literal < identifier) )) || (parenthesized_expression "((iStack_150 == 0 && (1 < uStack_14c)))" ( (parenthesized_expression "(iStack_150 == 0 && (1 < uStack_14c))" ( (binary_expression "iStack_150 == 0 && (1 < uStack_14c)" (binary_expression "iStack_150 == 0" identifier == number_literal) && (parenthesized_expression "(1 < uStack_14c)" ( (binary_expression "1 < uStack_14c" number_literal < identifier) ))) )) ))) )) (compound_statement "{\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }" { (expression_statement "iVar2 = piVar11[0x1c];" (assignment_expression "iVar2 = piVar11[0x1c]" identifier = (subscript_expression "piVar11[0x1c]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = *(uint *)(iVar2 + 0x14);" (assignment_expression "uVar18 = *(uint *)(iVar2 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x14)" * (cast_expression "(uint *)(iVar2 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = uVar18 + 1;" (assignment_expression "uVar17 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar2 + 0x14) = uVar17;" (assignment_expression "*(uint *)(iVar2 + 0x14) = uVar17" (pointer_expression "*(uint *)(iVar2 + 0x14)" * (cast_expression "(uint *)(iVar2 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);" (assignment_expression "*(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10)" (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) = (binary_expression "(uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10)" (call_expression "(uint)(uVar17 < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uVar18)" ( (binary_expression "uVar17 < uVar18" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar2 + 0x10)" * (cast_expression "(int *)(iVar2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "iVar2 = piVar11[0x1c];" (assignment_expression "iVar2 = piVar11[0x1c]" identifier = (subscript_expression "piVar11[0x1c]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = *(uint *)(iVar2 + 0x1c);" (assignment_expression "uVar18 = *(uint *)(iVar2 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = uVar18 + 1;" (assignment_expression "uVar17 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar2 + 0x1c) = uVar17;" (assignment_expression "*(uint *)(iVar2 + 0x1c) = uVar17" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);" (assignment_expression "*(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18)" (pointer_expression "*(uint *)(iVar2 + 0x18)" * (cast_expression "(uint *)(iVar2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) )))) = (binary_expression "(uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18)" (call_expression "(uint)(uVar17 < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uVar18)" ( (binary_expression "uVar17 < uVar18" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar2 + 0x18)" * (cast_expression "(int *)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "iVar4 = piVar11[0x1c];" (assignment_expression "iVar4 = piVar11[0x1c]" identifier = (subscript_expression "piVar11[0x1c]" identifier [ number_literal ])) ;) (expression_statement "piVar19 = *(int **)(iVar4 + 0xc);" (assignment_expression "piVar19 = *(int **)(iVar4 + 0xc)" identifier = (pointer_expression "*(int **)(iVar4 + 0xc)" * (cast_expression "(int **)(iVar4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar4 + 8);" (assignment_expression "iVar2 = *(int *)(iVar4 + 8)" identifier = (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "piVar16 = (int *)((int)piVar19 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar19 + 1)" identifier = (cast_expression "(int *)((int)piVar19 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + 1)" ( (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int **)(iVar4 + 0xc) = piVar16;" (assignment_expression "*(int **)(iVar4 + 0xc) = piVar16" (pointer_expression "*(int **)(iVar4 + 0xc)" * (cast_expression "(int **)(iVar4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;" (assignment_expression "*(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2" (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(piVar16 < piVar19) + iVar2" (call_expression "(uint)(piVar16 < piVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar16 < piVar19)" ( (binary_expression "piVar16 < piVar19" identifier < identifier) ))) + identifier)) ;) (if_statement "if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }" if (parenthesized_expression "(iVar33 < iVar3)" ( (binary_expression "iVar33 < iVar3" identifier < identifier) )) (compound_statement "{\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }" { (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "piVar16 = &iStack_150;" (assignment_expression "piVar16 = &iStack_150" identifier = (pointer_expression "&iStack_150" & identifier)) ;) (expression_statement "iVar28 = (*pcVar27)(iVar15 + iVar33);" (assignment_expression "iVar28 = (*pcVar27)(iVar15 + iVar33)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar33)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar33)" ( (binary_expression "iVar15 + iVar33" identifier + identifier) )))) ;) (expression_statement "iVar4 = 0x10;" (assignment_expression "iVar4 = 0x10" identifier = number_literal) ;) (expression_statement "iVar33 = iVar33 + iVar28;" (assignment_expression "iVar33 = iVar33 + iVar28" identifier = (binary_expression "iVar33 + iVar28" identifier + identifier)) ;) (goto_statement "goto LAB_0011eaec;" goto statement_identifier ;) })) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;) })) (if_statement "if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }" if (parenthesized_expression "(iStack_150 != 0 || uStack_14c != 0)" ( (binary_expression "iStack_150 != 0 || uStack_14c != 0" (binary_expression "iStack_150 != 0" identifier != number_literal) || (binary_expression "uStack_14c != 0" identifier != number_literal)) )) (compound_statement "{\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }" { (if_statement "if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }" if (parenthesized_expression "((iStack_150 == 0) && (uStack_14c == 1))" ( (binary_expression "(iStack_150 == 0) && (uStack_14c == 1)" (parenthesized_expression "(iStack_150 == 0)" ( (binary_expression "iStack_150 == 0" identifier == number_literal) )) && (parenthesized_expression "(uStack_14c == 1)" ( (binary_expression "uStack_14c == 1" identifier == number_literal) ))) )) (compound_statement "{\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }" { (if_statement "if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }" if (parenthesized_expression "(iVar33 < iVar3)" ( (binary_expression "iVar33 < iVar3" identifier < identifier) )) (compound_statement "{\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }" { (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);" (assignment_expression "iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar33,&iStack_150)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar33,&iStack_150)" ( (binary_expression "iVar15 + iVar33" identifier + identifier) , (pointer_expression "&iStack_150" & identifier) )))) ;) (expression_statement "iVar33 = iVar33 + iVar2;" (assignment_expression "iVar33 = iVar33 + iVar2" identifier = (binary_expression "iVar33 + iVar2" identifier + identifier)) ;) (while_statement "while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }" while (parenthesized_expression "((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)))" ( (parenthesized_expression "(uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))" ( (comma_expression "uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)" (assignment_expression "uVar18 = uStack_14c" identifier = identifier) , (comma_expression "iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)" (assignment_expression "iVar2 = uStack_14c + 2" identifier = (binary_expression "uStack_14c + 2" identifier + number_literal)) , (binary_expression "iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)" (binary_expression "iVar2 <= piVar11[0x1b]" identifier <= (subscript_expression "piVar11[0x1b]" identifier [ number_literal ])) || (parenthesized_expression "(piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)" ( (comma_expression "piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0" (assignment_expression "piVar16 = piVar11 + 0x1c" identifier = (binary_expression "piVar11 + 0x1c" identifier + number_literal)) , (comma_expression "iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b)" identifier = (call_expression "(*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b)" (parenthesized_expression "(*(code *)(iVar30 + -0x5e88))" ( (pointer_expression "*(code *)(iVar30 + -0x5e88)" * (cast_expression "(code *)(iVar30 + -0x5e88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + -0x5e88)" ( (binary_expression "iVar30 + -0x5e88" identifier + number_literal) )))) )) (argument_list "(piVar11 + 0x1b)" ( (binary_expression "piVar11 + 0x1b" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal))) ))))) )) )) (compound_statement "{\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }" { (expression_statement "iVar4 = (uVar18 + 1) * 0x10;" (assignment_expression "iVar4 = (uVar18 + 1) * 0x10" identifier = (binary_expression "(uVar18 + 1) * 0x10" (parenthesized_expression "(uVar18 + 1)" ( (binary_expression "uVar18 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "piVar19 = (int *)(piVar11[0x1c] + iVar4);" (assignment_expression "piVar19 = (int *)(piVar11[0x1c] + iVar4)" identifier = (cast_expression "(int *)(piVar11[0x1c] + iVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar11[0x1c] + iVar4)" ( (binary_expression "piVar11[0x1c] + iVar4" (subscript_expression "piVar11[0x1c]" identifier [ number_literal ]) + identifier) )))) ;) (expression_statement "piVar9 = (int *)piVar19[1];" (assignment_expression "piVar9 = (int *)piVar19[1]" identifier = (cast_expression "(int *)piVar19[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar19[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar2 = *piVar19;" (assignment_expression "iVar2 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (expression_statement "piVar16 = (int *)((int)piVar9 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar9 + 1)" identifier = (cast_expression "(int *)((int)piVar9 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar9 + 1)" ( (binary_expression "(int)piVar9 + 1" (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar19[1] = (int)piVar16;" (assignment_expression "piVar19[1] = (int)piVar16" (subscript_expression "piVar19[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar19 = (uint)(piVar16 < piVar9) + iVar2;" (assignment_expression "*piVar19 = (uint)(piVar16 < piVar9) + iVar2" (pointer_expression "*piVar19" * identifier) = (binary_expression "(uint)(piVar16 < piVar9) + iVar2" (call_expression "(uint)(piVar16 < piVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar16 < piVar9)" ( (binary_expression "piVar16 < piVar9" identifier < identifier) ))) + identifier)) ;) (while_statement "while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }" { (if_statement "if (iVar3 <= iVar33) goto LAB_0011e87c;" if (parenthesized_expression "(iVar3 <= iVar33)" ( (binary_expression "iVar3 <= iVar33" identifier <= identifier) )) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;)) (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "piVar16 = &iStack_150;" (assignment_expression "piVar16 = &iStack_150" identifier = (pointer_expression "&iStack_150" & identifier)) ;) (expression_statement "iVar28 = (*pcVar27)(iVar15 + iVar33);" (assignment_expression "iVar28 = (*pcVar27)(iVar15 + iVar33)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar33)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar33)" ( (binary_expression "iVar15 + iVar33" identifier + identifier) )))) ;) (expression_statement "iVar33 = iVar33 + iVar28;" (assignment_expression "iVar33 = iVar33 + iVar28" identifier = (binary_expression "iVar33 + iVar28" identifier + identifier)) ;) (labeled_statement "LAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }" statement_identifier : (if_statement "if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }" if (parenthesized_expression "(iStack_150 == 0 && uStack_14c == 0)" ( (binary_expression "iStack_150 == 0 && uStack_14c == 0" (binary_expression "iStack_150 == 0" identifier == number_literal) && (binary_expression "uStack_14c == 0" identifier == number_literal)) )) (compound_statement "{\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }" { (if_statement "if (iVar3 <= iVar33) goto LAB_0011e87c;" if (parenthesized_expression "(iVar3 <= iVar33)" ( (binary_expression "iVar3 <= iVar33" identifier <= identifier) )) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;)) (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);" (assignment_expression "iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar33,&iStack_150)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar33,&iStack_150)" ( (binary_expression "iVar15 + iVar33" identifier + identifier) , (pointer_expression "&iStack_150" & identifier) )))) ;) (expression_statement "iVar4 = iVar4 + iVar33;" (assignment_expression "iVar4 = iVar4 + iVar33" identifier = (binary_expression "iVar4 + iVar33" identifier + identifier)) ;) (goto_statement "goto LAB_0011e97c;" goto statement_identifier ;) }))) (if_statement "if ((iStack_150 == 0) && (uStack_14c == 1)) break;" if (parenthesized_expression "((iStack_150 == 0) && (uStack_14c == 1))" ( (binary_expression "(iStack_150 == 0) && (uStack_14c == 1)" (parenthesized_expression "(iStack_150 == 0)" ( (binary_expression "iStack_150 == 0" identifier == number_literal) )) && (parenthesized_expression "(uStack_14c == 1)" ( (binary_expression "uStack_14c == 1" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = piVar11[0x1c] + iVar4;" (assignment_expression "iVar2 = piVar11[0x1c] + iVar4" identifier = (binary_expression "piVar11[0x1c] + iVar4" (subscript_expression "piVar11[0x1c]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "uVar18 = *(uint *)(iVar2 + 0xc);" (assignment_expression "uVar18 = *(uint *)(iVar2 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xc)" * (cast_expression "(uint *)(iVar2 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = uVar18 + 1;" (assignment_expression "uVar17 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar2 + 0xc) = uVar17;" (assignment_expression "*(uint *)(iVar2 + 0xc) = uVar17" (pointer_expression "*(uint *)(iVar2 + 0xc)" * (cast_expression "(uint *)(iVar2 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);" (assignment_expression "*(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8)" (pointer_expression "*(uint *)(iVar2 + 8)" * (cast_expression "(uint *)(iVar2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8)" (call_expression "(uint)(uVar17 < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uVar18)" ( (binary_expression "uVar17 < uVar18" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))))) ;) (expression_statement "iVar28 = piVar11[0x1c];" (assignment_expression "iVar28 = piVar11[0x1c]" identifier = (subscript_expression "piVar11[0x1c]" identifier [ number_literal ])) ;) (expression_statement "piVar19 = *(int **)(iVar28 + 0xc);" (assignment_expression "piVar19 = *(int **)(iVar28 + 0xc)" identifier = (pointer_expression "*(int **)(iVar28 + 0xc)" * (cast_expression "(int **)(iVar28 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar28 + 0xc)" ( (binary_expression "iVar28 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar28 + 8);" (assignment_expression "iVar2 = *(int *)(iVar28 + 8)" identifier = (pointer_expression "*(int *)(iVar28 + 8)" * (cast_expression "(int *)(iVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 8)" ( (binary_expression "iVar28 + 8" identifier + number_literal) ))))) ;) (expression_statement "piVar16 = (int *)((int)piVar19 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar19 + 1)" identifier = (cast_expression "(int *)((int)piVar19 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + 1)" ( (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int **)(iVar28 + 0xc) = piVar16;" (assignment_expression "*(int **)(iVar28 + 0xc) = piVar16" (pointer_expression "*(int **)(iVar28 + 0xc)" * (cast_expression "(int **)(iVar28 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar28 + 0xc)" ( (binary_expression "iVar28 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;" (assignment_expression "*(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2" (pointer_expression "*(uint *)(iVar28 + 8)" * (cast_expression "(uint *)(iVar28 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 8)" ( (binary_expression "iVar28 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(piVar16 < piVar19) + iVar2" (call_expression "(uint)(piVar16 < piVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar16 < piVar19)" ( (binary_expression "piVar16 < piVar19" identifier < identifier) ))) + identifier)) ;) })) (if_statement "if (iVar3 <= iVar33) goto LAB_0011e87c;" if (parenthesized_expression "(iVar3 <= iVar33)" ( (binary_expression "iVar3 <= iVar33" identifier <= identifier) )) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;)) (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);" (assignment_expression "iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar33,&iStack_150)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar33,&iStack_150)" ( (binary_expression "iVar15 + iVar33" identifier + identifier) , (pointer_expression "&iStack_150" & identifier) )))) ;) (expression_statement "iVar33 = iVar2 + iVar33;" (assignment_expression "iVar33 = iVar2 + iVar33" identifier = (binary_expression "iVar2 + iVar33" identifier + identifier)) ;) })) (goto_statement "goto LAB_0011ec20;" goto statement_identifier ;) })) }) (else_clause "else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }" else (compound_statement "{\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }" { (expression_statement "iVar2 = piVar11[0x1c];" (assignment_expression "iVar2 = piVar11[0x1c]" identifier = (subscript_expression "piVar11[0x1c]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = *(uint *)(iVar2 + 0x1c);" (assignment_expression "uVar18 = *(uint *)(iVar2 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = uVar18 + 1;" (assignment_expression "uVar17 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar2 + 0x1c) = uVar17;" (assignment_expression "*(uint *)(iVar2 + 0x1c) = uVar17" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);" (assignment_expression "*(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18)" (pointer_expression "*(uint *)(iVar2 + 0x18)" * (cast_expression "(uint *)(iVar2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) )))) = (binary_expression "(uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18)" (call_expression "(uint)(uVar17 < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uVar18)" ( (binary_expression "uVar17 < uVar18" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar2 + 0x18)" * (cast_expression "(int *)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "iVar4 = piVar11[0x1c];" (assignment_expression "iVar4 = piVar11[0x1c]" identifier = (subscript_expression "piVar11[0x1c]" identifier [ number_literal ])) ;) (expression_statement "piVar19 = *(int **)(iVar4 + 0xc);" (assignment_expression "piVar19 = *(int **)(iVar4 + 0xc)" identifier = (pointer_expression "*(int **)(iVar4 + 0xc)" * (cast_expression "(int **)(iVar4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar4 + 8);" (assignment_expression "iVar2 = *(int *)(iVar4 + 8)" identifier = (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "piVar16 = (int *)((int)piVar19 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar19 + 1)" identifier = (cast_expression "(int *)((int)piVar19 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + 1)" ( (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int **)(iVar4 + 0xc) = piVar16;" (assignment_expression "*(int **)(iVar4 + 0xc) = piVar16" (pointer_expression "*(int **)(iVar4 + 0xc)" * (cast_expression "(int **)(iVar4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;" (assignment_expression "*(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2" (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(piVar16 < piVar19) + iVar2" (call_expression "(uint)(piVar16 < piVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar16 < piVar19)" ( (binary_expression "piVar16 < piVar19" identifier < identifier) ))) + identifier)) ;) (if_statement "if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }" if (parenthesized_expression "(iVar33 < iVar3)" ( (binary_expression "iVar33 < iVar3" identifier < identifier) )) (compound_statement "{\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }" { (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "piVar16 = &iStack_150;" (assignment_expression "piVar16 = &iStack_150" identifier = (pointer_expression "&iStack_150" & identifier)) ;) (expression_statement "iVar28 = (*pcVar27)(iVar15 + iVar33);" (assignment_expression "iVar28 = (*pcVar27)(iVar15 + iVar33)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar33)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar33)" ( (binary_expression "iVar15 + iVar33" identifier + identifier) )))) ;) (expression_statement "iVar4 = 0x10;" (assignment_expression "iVar4 = 0x10" identifier = number_literal) ;) (expression_statement "iVar33 = iVar33 + iVar28;" (assignment_expression "iVar33 = iVar33 + iVar28" identifier = (binary_expression "iVar33 + iVar28" identifier + identifier)) ;) (goto_statement "goto LAB_0011eaec;" goto statement_identifier ;) })) }))) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;) })) (if_statement "if (iVar3 <= iVar33) goto LAB_0011e87c;" if (parenthesized_expression "(iVar3 <= iVar33)" ( (binary_expression "iVar3 <= iVar33" identifier <= identifier) )) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;)) (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);" (assignment_expression "iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar33,&iStack_150)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar33,&iStack_150)" ( (binary_expression "iVar15 + iVar33" identifier + identifier) , (pointer_expression "&iStack_150" & identifier) )))) ;) (expression_statement "iVar4 = iVar33 + iVar4;" (assignment_expression "iVar4 = iVar33 + iVar4" identifier = (binary_expression "iVar33 + iVar4" identifier + identifier)) ;) (goto_statement "goto LAB_0011e97c;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0011e87c:\n    piVar11[0x1a] = 0;" statement_identifier : (expression_statement "piVar11[0x1a] = 0;" (assignment_expression "piVar11[0x1a] = 0" (subscript_expression "piVar11[0x1a]" identifier [ number_literal ]) = number_literal) ;)) }))) (labeled_statement "LAB_0011e880:\n  iVar3 = 0;" statement_identifier : (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0011e884:\n  if (iStack_144 == *piVar22) {\n    return iVar3;\n  }" statement_identifier : (if_statement "if (iStack_144 == *piVar22) {\n    return iVar3;\n  }" if (parenthesized_expression "(iStack_144 == *piVar22)" ( (binary_expression "iStack_144 == *piVar22" identifier == (pointer_expression "*piVar22" * identifier)) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) }))) (expression_statement "pcVar25 = *(code **)(pcVar25 + 0x3d318);" (assignment_expression "pcVar25 = *(code **)(pcVar25 + 0x3d318)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x3d318)" * (cast_expression "(code **)(pcVar25 + 0x3d318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3d318)" ( (binary_expression "pcVar25 + 0x3d318" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = iStack_144;" (assignment_expression "iVar3 = iStack_144" identifier = identifier) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar15 = piVar16[1];" (assignment_expression "iVar15 = piVar16[1]" identifier = (subscript_expression "piVar16[1]" identifier [ number_literal ])) ;) (if_statement "if ((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)) {\n    iVar33 = 0;\n    iVar30 = *(int *)(pcVar25 + 0x3ca14);\n    do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));\n  }" if (parenthesized_expression "((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15))" ( (binary_expression "(piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)" (parenthesized_expression "(piVar16[7] == 0)" ( (binary_expression "piVar16[7] == 0" (subscript_expression "piVar16[7]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)" ( (comma_expression "iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15" (assignment_expression "iVar4 = *(int *)(pcVar25 + 0x3ca34)" identifier = (pointer_expression "*(int *)(pcVar25 + 0x3ca34)" * (cast_expression "(int *)(pcVar25 + 0x3ca34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ca34)" ( (binary_expression "pcVar25 + 0x3ca34" identifier + number_literal) ))))) , (binary_expression "0 < iVar15" number_literal < identifier)) ))) )) (compound_statement "{\n    iVar33 = 0;\n    iVar30 = *(int *)(pcVar25 + 0x3ca14);\n    do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));\n  }" { (expression_statement "iVar33 = 0;" (assignment_expression "iVar33 = 0" identifier = number_literal) ;) (expression_statement "iVar30 = *(int *)(pcVar25 + 0x3ca14);" (assignment_expression "iVar30 = *(int *)(pcVar25 + 0x3ca14)" identifier = (pointer_expression "*(int *)(pcVar25 + 0x3ca14)" * (cast_expression "(int *)(pcVar25 + 0x3ca14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ca14)" ( (binary_expression "pcVar25 + 0x3ca14" identifier + number_literal) ))))) ;) (do_statement "do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));" do (compound_statement "{\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    }" { (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" identifier = number_literal) ;) (expression_statement "iVar23 = *(int *)(*piVar16 + iVar33 * 4);" (assignment_expression "iVar23 = *(int *)(*piVar16 + iVar33 * 4)" identifier = (pointer_expression "*(int *)(*piVar16 + iVar33 * 4)" * (cast_expression "(int *)(*piVar16 + iVar33 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar16 + iVar33 * 4)" ( (binary_expression "*piVar16 + iVar33 * 4" (pointer_expression "*piVar16" * identifier) + (binary_expression "iVar33 * 4" identifier * number_literal)) ))))) ;) (do_statement "do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));" do (compound_statement "{\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      }" { (expression_statement "iVar5 = FUN_0011d8a8(iVar3,iVar23);" (assignment_expression "iVar5 = FUN_0011d8a8(iVar3,iVar23)" identifier = (call_expression "FUN_0011d8a8(iVar3,iVar23)" identifier (argument_list "(iVar3,iVar23)" ( identifier , identifier )))) ;) (if_statement "if (iVar5 != 0) {\n          return iVar5;\n        }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n          return iVar5;\n        }" { (return_statement "return iVar5;" return identifier ;) })) }) while (parenthesized_expression "((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0))" ( (binary_expression "(iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0)" ( (comma_expression "iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0" (assignment_expression "iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4)" identifier = (call_expression "(*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4)" (parenthesized_expression "(*(code *)(iVar30 + -0x7564))" ( (pointer_expression "*(code *)(iVar30 + -0x7564)" * (cast_expression "(code *)(iVar30 + -0x7564)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + -0x7564)" ( (binary_expression "iVar30 + -0x7564" identifier + number_literal) )))) )) (argument_list "(iVar23,iVar2,param_4)" ( identifier , identifier , identifier )))) , (binary_expression "iVar28 < 0" identifier < number_literal)) ))) )) ;) (if_statement "if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }" if (parenthesized_expression "((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0))" ( (binary_expression "(*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)" (parenthesized_expression "(*(char *)(iVar23 + 4) != '\0')" ( (binary_expression "*(char *)(iVar23 + 4) != '\0'" (pointer_expression "*(char *)(iVar23 + 4)" * (cast_expression "(char *)(iVar23 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) ))) )) (compound_statement "{\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }" { (expression_statement "(*(code *)(iVar4 + 0x5384))(iVar23);" (call_expression "(*(code *)(iVar4 + 0x5384))(iVar23)" (parenthesized_expression "(*(code *)(iVar4 + 0x5384))" ( (pointer_expression "*(code *)(iVar4 + 0x5384)" * (cast_expression "(code *)(iVar4 + 0x5384)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x5384)" ( (binary_expression "iVar4 + 0x5384" identifier + number_literal) )))) )) (argument_list "(iVar23)" ( identifier ))) ;) })) (expression_statement "iVar33 = iVar33 + 1;" (assignment_expression "iVar33 = iVar33 + 1" identifier = (binary_expression "iVar33 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((piVar16[7] == 0) && (iVar33 < piVar16[1]))" ( (binary_expression "(piVar16[7] == 0) && (iVar33 < piVar16[1])" (parenthesized_expression "(piVar16[7] == 0)" ( (binary_expression "piVar16[7] == 0" (subscript_expression "piVar16[7]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(iVar33 < piVar16[1])" ( (binary_expression "iVar33 < piVar16[1]" identifier < (subscript_expression "piVar16[1]" identifier [ number_literal ])) ))) )) ;) })) (expression_statement "(*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))\n            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638);" (call_expression "(*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))\n            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638)" (parenthesized_expression "(*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))" ( (pointer_expression "*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944)" * (cast_expression "(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x3c998) + 0x2944)" ( (binary_expression "*(int *)(pcVar25 + 0x3c998) + 0x2944" (pointer_expression "*(int *)(pcVar25 + 0x3c998)" * (cast_expression "(int *)(pcVar25 + 0x3c998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3c998)" ( (binary_expression "pcVar25 + 0x3c998" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638)" ( (pointer_expression "*piVar16" * identifier) , identifier , identifier , (binary_expression "*(int *)(pcVar25 + 0x3ca14) + -0x7638" (pointer_expression "*(int *)(pcVar25 + 0x3ca14)" * (cast_expression "(int *)(pcVar25 + 0x3ca14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ca14)" ( (binary_expression "pcVar25 + 0x3ca14" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) (labeled_statement "LAB_0011e6ac:\n  iVar2 = 100;" statement_identifier : (expression_statement "iVar2 = 100;" (assignment_expression "iVar2 = 100" identifier = number_literal) ;)) (expression_statement "pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4;" (assignment_expression "pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4" (subscript_expression "pppppppcStack_e0[0xd]" identifier [ number_literal ]) = (cast_expression "(code ******)pppppppcStack_f4" ( (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 "pppppppcStack_e0[2] = unaff_s6;" (assignment_expression "pppppppcStack_e0[2] = unaff_s6" (subscript_expression "pppppppcStack_e0[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppppcStack_e0[0xc] = pppppppcStack_e0[4];" (assignment_expression "pppppppcStack_e0[0xc] = pppppppcStack_e0[4]" (subscript_expression "pppppppcStack_e0[0xc]" identifier [ number_literal ]) = (subscript_expression "pppppppcStack_e0[4]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar29 = param_1;" (assignment_expression "pppppppcVar29 = param_1" identifier = identifier) ;) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;) })))
(translation_unit "int fts3SegReaderNext(Fts3Table *p,Fts3SegReader *pReader,int bIncr)\n\n{\n  byte bVar1;\n  sqlite3_stmt **ppsVar2;\n  sqlite3_vtab *psVar3;\n  int iVar4;\n  byte *pbVar5;\n  Fts3Table *pFVar6;\n  Fts3MultiSegReader *pFVar7;\n  int iVar8;\n  Fts3Table *pFVar9;\n  uint uVar10;\n  Fts3Table *pFVar11;\n  sqlite3 *psVar12;\n  sqlite3 *psVar13;\n  int *piVar14;\n  sqlite3_module *psVar15;\n  char *pcVar16;\n  sqlite3_module *psVar17;\n  Fts3Table *pFVar18;\n  byte *pbVar19;\n  int iVar20;\n  Fts3MultiSegReader *pCsr;\n  uint uVar21;\n  Fts3Table *in_a3;\n  byte *pbVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  int *piVar25;\n  Fts3SegReader *pReader_00;\n  Fts3Table *pFVar26;\n  u32 uVar27;\n  int iVar28;\n  Fts3Table *pFVar29;\n  Fts3Table *unaff_s4;\n  int iVar30;\n  char *unaff_s5;\n  char *unaff_s6;\n  Fts3Table *unaff_s7;\n  sqlite3_module *psVar31;\n  undefined *puVar32;\n  code *pcVar33;\n  Fts3Table *unaff_s8;\n  int iVar34;\n  code *pcVar35;\n  Fts3MultiSegReader FStackY_150;\n  undefined *puStackY_108;\n  code *pcStackY_fc;\n  code *pcStackY_f8;\n  Fts3Table *pFStackY_f4;\n  Fts3Table *pFStackY_f0;\n  byte *pbStackY_ec;\n  Fts3Table *pFStackY_e8;\n  int iStackY_e4;\n  Fts3Table *pFStackY_e0;\n  Fts3Table *pFStackY_dc;\n  Fts3Table *pFStackY_d8;\n  Fts3Table *pFStackY_d4;\n  Fts3Table *pFStackY_d0;\n  uint uStackY_cc;\n  Fts3Table *pFStackY_c8;\n  Fts3Table *pFStackY_c4;\n  code *pcStackY_c0;\n  uint uStackY_bc;\n  uint uStackY_b8;\n  uint uStackY_b4;\n  code *pcStackY_b0;\n  code *pcStackY_ac;\n  Fts3Table *pFStackY_a8;\n  sqlite3 *psStackY_a4;\n  Fts3Table *pFStackY_a0;\n  code *pcStackY_9c;\n  int *piStackY_98;\n  sqlite3_mutex *psStackY_94;\n  sqlite3_module *psStackY_90;\n  sqlite3_module *psStackY_8c;\n  sqlite3_module *psStackY_88;\n  sqlite3 *psStackY_84;\n  sqlite3 *psStackY_7c;\n  Fts3SegReader *pFStackY_78;\n  Fts3Table *pFStackY_74;\n  char **ppcStackY_70;\n  Fts3Table *pFStackY_6c;\n  Fts3Table *pFStackY_68;\n  int nPrefix;\n  int nSuffix;\n  Fts3Table *pFStack_1c;\n  \n  pFVar6 = (Fts3Table *)PTR___stack_chk_guard_0015ba2c;\n  pFStack_1c = *(Fts3Table **)PTR___stack_chk_guard_0015ba2c;\n  if (pReader->aDoclist == (char *)0x0) {\n    pFVar26 = (Fts3Table *)pReader->aNode;\n  }\n  else {\n    pFVar26 = (Fts3Table *)(pReader->aDoclist + pReader->nDoclist);\n  }\n  if ((pFVar26 == (Fts3Table *)0x0) || ((Fts3Table *)(pReader->aNode + pReader->nNode) <= pFVar26))\n  {\n    pFVar18 = (Fts3Table *)pReader;\n    if (pReader->ppNextElem == (Fts3HashElem **)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(pReader);\n      iVar4 = *(int *)&pReader->iCurrentBlock;\n      pFVar9 = *(Fts3Table **)((int)&pReader->iCurrentBlock + 4);\n      if (*(int *)&pReader->iLeafEndBlock <= iVar4) {\n        if (*(int *)&pReader->iLeafEndBlock != iVar4) goto LAB_0011da80;\n        in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n        if (*(Fts3Table **)((int)&pReader->iLeafEndBlock + 4) <= pFVar9) {\n          iVar4 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n      *(Fts3Table **)((int)&pReader->iCurrentBlock + 4) = in_a3;\n      piVar25 = (int *)((uint)(in_a3 < pFVar9) + iVar4);\n      *(int **)&pReader->iCurrentBlock = piVar25;\n      iVar4 = sqlite3Fts3ReadBlock\n                        (p,CONCAT44(&pReader->aNode,&pReader->nNode),(char **)pFVar18,piVar25,\n                         (int *)in_a3);\n      if (iVar4 == 0) {\n        pFVar26 = (Fts3Table *)pReader->aNode;\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      p = (Fts3Table *)*pReader->ppNextElem;\n      (*(code *)PTR_sqlite3_free_0015b620)(pReader->aNode);\n      pReader->aNode = (char *)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (p == (Fts3Table *)0x0) {\nLAB_0011da80:\n        iVar4 = 0;\n      }\n      else {\n        unaff_s4 = (Fts3Table *)(p->base).zErrMsg;\n        psVar15 = (unaff_s4->base).pModule;\n        pReader->zTerm = (char *)p->db;\n        pFVar26 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n        pReader->nTerm = (int)p->zDb;\n        iVar4 = (*(code *)puVar32)(pFVar26);\n        if (iVar4 != 0) {\n          pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;\n          pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);\n          iVar4 = 0;\n          pReader->nDoclist = (int)pFVar26;\n          pReader->nNode = (int)pFVar26;\n          pReader->aDoclist = pcVar16;\n          pReader->aNode = pcVar16;\n          pReader->ppNextElem = pReader->ppNextElem + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar4 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    p = (Fts3Table *)(PTR_LAB_0015b6f8 + 0x5f80);\n    pFVar18 = pFVar26;\n    iVar4 = (*(code *)p)(pReader,pFVar26,0x14);\n    if (iVar4 == 0) {\n      bVar1 = *(byte *)&(pFVar26->base).pModule;\n      if ((char)bVar1 < '\0') {\n        pFVar18 = (Fts3Table *)&nPrefix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pFVar26);\n      }\n      else {\n        iVar4 = 1;\n        nPrefix = (uint)bVar1;\n      }\n      pbVar24 = (byte *)((int)pFVar26->aStmt + iVar4 + -0x38);\n      if ((char)*pbVar24 < '\0') {\n        pFVar18 = (Fts3Table *)&nSuffix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n      }\n      else {\n        iVar4 = 1;\n        nSuffix = (uint)*pbVar24;\n      }\n      pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n      if (0 < nSuffix) {\n        iVar4 = 0x10b;\n        if ((int)(pReader->aNode + (pReader->nNode - (int)pFVar26)) < nSuffix) goto LAB_0011db18;\n        pFVar9 = (Fts3Table *)pReader->nTermAlloc;\n        pFVar18 = (Fts3Table *)(nPrefix >> 0x1f);\n        if (nPrefix <= (int)pFVar9) {\n          in_a3 = (Fts3Table *)(nPrefix + nSuffix);\n          iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38;\n          pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4);\n          if ((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))\n          {\n            uVar10 = (uint)in_a3 >> 0x1f;\n            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);\n            in_a3 = unaff_s4;\n            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);\n            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;\n            pReader->zTerm = pcVar16;\n            pReader->nTermAlloc = (int)unaff_s4;\n          }\n          pFVar18 = pFVar26;\n          iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10);\n          if (iVar4 != 0) goto LAB_0011db18;\n          pFVar18 = pFVar26;\n          (*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix);\n          pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38);\n          pReader->nTerm = nPrefix + nSuffix;\n          uVar10 = (uint)*pbVar24;\n          if ((char)*pbVar24 < '\0') {\n            pFVar18 = (Fts3Table *)&pReader->nDoclist;\n            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n            uVar10 = pReader->nDoclist;\n          }\n          else {\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }\n          pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n          pReader->aDoclist = (char *)pFVar26;\n          pReader->pOffsetList = (char *)0x0;\n          if ((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)) {\n            iVar4 = 0;\n            if (pReader->nPopulate != 0) goto LAB_0011db18;\n            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));\n            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;\n          }\n        }\n      }\n      iVar4 = 0x10b;\n    }\n  }\nLAB_0011db18:\n  if (pFStack_1c == *(Fts3Table **)pFVar6) {\n    return iVar4;\n  }\n  pFVar9 = pFStack_1c;\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStackY_108 = puVar32 + 0x45928;\n  pFStackY_68 = unaff_s4;\n  pFStackY_6c = p;\n  ppcStackY_70 = (char **)pFVar6;\n  pFStackY_74 = pFVar26;\n  pFStackY_78 = pReader;\n  piStackY_98 = *(int **)(puVar32 + 0x3dda4);\n  pFStackY_c8 = pFVar9;\n  pFStackY_e0 = pFVar18;\n  psStackY_7c = (sqlite3 *)**(int **)(puVar32 + 0x3dda4);\n  pFStackY_a0 = (Fts3Table *)(pFVar18->base).nRef;\n  pFVar29 = p;\n  if (pFVar9->bDescIdx == '\0') {\n    pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar4 = 0;\n    if (pFStackY_a0 != (Fts3Table *)0x0) {\nLAB_0011dd08:\n      psStackY_a4 = pFVar18->db;\n      unaff_s6 = (pFVar18->base).zErrMsg;\n      psStackY_94 = psStackY_a4->mutex;\n      pcStackY_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pFStackY_f0 = (Fts3Table *)(pFVar18->base).pModule;\n      pcStackY_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStackY_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStackY_cc = (uint)psStackY_94 & 1;\n      do {\n        pFVar9 = pFStackY_c8;\n        pFVar18 = pFStackY_e0;\n        pFVar26 = (Fts3Table *)0x0;\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pFVar29 = p;\n        if (0 < (int)unaff_s6) {\n          do {\n            psVar15 = (((Fts3Table *)pReader)->base).pModule;\n            pFVar6 = pFVar18;\n            pFVar29 = pFVar9;\n            if (*(char *)&psVar15->xCreate == '\0') {\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStackY_ac)();\n            }\n            unaff_s6 = (pFVar18->base).zErrMsg;\n            pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);\n            pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;\n          } while ((int)pFVar26 < (int)unaff_s6);\n        }\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pcStackY_c0 = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x2944);\n        in_a3 = (Fts3Table *)(*(int *)(puStackY_108 + -0x7ed8) + -0x7638);\n        (*pcStackY_c0)(pFStackY_f0,pFStackY_a0,unaff_s6);\n        (pFStackY_e0->base).zErrMsg = (char *)0x0;\n        psVar15 = (((Fts3Table *)pReader)->base).pModule;\n        if (psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0) goto LAB_0011de08;\n        pFVar6 = (Fts3Table *)psVar15->xSync;\n        pFStackY_e0->zLanguageid = (char *)pFVar6;\n        pReader = (Fts3SegReader *)((((Fts3Table *)pReader)->base).pModule)->xCommit;\n        pFStackY_e0->zContentTbl = (char *)pReader;\n        if ((psStackY_a4->pVfs != (sqlite3_vfs *)0x0) && (((uint)psStackY_94 & 0x10) == 0)) {\n          iVar4 = 0;\n          if (((int)pFVar6 < (int)psStackY_a4->pVdbe) ||\n             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))))\n          break;\n          iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader);\n          if (iVar4 != 0) {\n            iVar4 = 0;\n            break;\n          }\n        }\n        pFVar18 = pFStackY_a0;\n        if ((((int)pFStackY_a0 < 2) ||\n            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n           (pFVar6 != (Fts3Table *)psVar15->xSync)) {\nLAB_0011df14:\n          p = pFVar29;\n          pFVar18 = pFStackY_e0;\n          psVar15 = (pFStackY_f0->base).pModule;\n          if (((uint)psStackY_94 & 0x22) == 0) {\n            if ((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }\n          }\n          else {\n            iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          }\n          unaff_s6 = (char *)0x1;\n          (*(code *)(iVar4 + 0x605c))();\n        }\n        else {\n          pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg;\n          unaff_s6 = (char *)0x1;\n          while (iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0) {\n            unaff_s6 = unaff_s6 + 1;\n            if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;\n          }\n          pFVar29 = pFVar18;\n          if (unaff_s6 == (char *)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          ppsVar2 = pFStackY_f0->aStmt;\n          pFVar6 = pFStackY_f0;\n          do {\n            psVar3 = &pFVar6->base;\n            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;\n            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);\n          } while ((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6);\n        }\n        pFVar26 = pFStackY_f0;\n        in_a3 = pFStackY_c4;\n        (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s6);\n        if (((pFVar26->base).pModule)->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) {\n          unaff_s8 = (Fts3Table *)&psStackY_8c;\n          unaff_s7 = (Fts3Table *)&psStackY_90;\n          pFStackY_dc = (Fts3Table *)0x0;\n          pFStackY_d8 = (Fts3Table *)0x0;\n          pFVar6 = (Fts3Table *)&pFStackY_c8->bDescIdx;\n          pFStackY_f4 = (Fts3Table *)0x0;\n          pcStackY_fc = (code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168);\n          pcStackY_9c = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220);\n          uStackY_b8 = (uint)psStackY_94 & 4;\n          uStackY_bc = (uint)psStackY_94 & 2;\n          uStackY_b4 = (uint)psStackY_94 & 0x20;\n          pFStackY_d4 = unaff_s7;\n          pFStackY_d0 = unaff_s8;\n          do {\n            p = pFStackY_f0;\n            psStackY_90 = (sqlite3_module *)0x0;\n            psStackY_8c = (sqlite3_module *)0x0;\n            psVar15 = (pFStackY_f0->base).pModule;\n            pFVar26 = (Fts3Table *)psVar15->xRollbackTo;\n            pReader = (Fts3SegReader *)psVar15->xShadowName;\n            in_a3 = pFStackY_d0;\n            (*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);\n            if (unaff_s6 == (char *)0x1) {\n              unaff_s5 = (char *)0x1;\n            }\n            else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }\n            if (uStackY_b8 != 0) {\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }\n            pFVar18 = pFStackY_e0;\n            if ((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }\n            pFStackY_d8 = pFVar11;\n            pFStackY_dc = pFVar9;\n            pReader = (Fts3SegReader *)pFStackY_f0;\n            in_a3 = pFStackY_c4;\n            (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);\n          } while (((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=\n                   (_func_int_sqlite3_vtab_ptr_int *)0x0);\n          if (0 < (int)pFStackY_f4) goto LAB_0011e6ac;\n        }\n        (pFStackY_e0->base).zErrMsg = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pFStackY_a0 != (Fts3Table *)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar4 = 0;\n  }\nLAB_0011ddb4:\n  if (psStackY_7c == (sqlite3 *)*piStackY_98) {\n    return iVar4;\n  }\n  pcVar33 = *(code **)(puStackY_108 + -0x7ba0);\n  pcVar35 = fts3auxNextMethod;\n  psVar12 = psStackY_7c;\n  (*pcVar33)();\n  piVar25 = *(int **)(pcVar33 + 0x3d334);\n  iVar4 = psVar12->nTotalChange;\n  uVar10 = psVar12->nChange + 1;\n  pFVar18 = (Fts3Table *)psVar12->aLimit[0];\n  iVar20 = iVar4 + 1;\n  FStackY_150.pFilter = (Fts3SegFilter *)*piVar25;\n  pFVar9 = (Fts3Table *)psVar12->pVfs->pNext;\n  psVar12->magic = (uint)(uVar10 < (uint)psVar12->nChange) + psVar12->magic;\n  psVar12->nChange = uVar10;\n  psVar12->nTotalChange = iVar20;\n  FStackY_150.aBuffer = (char *)pReader;\n  FStackY_150.nBuffer = (int)pFVar26;\n  FStackY_150.iColFilter = (int)pFVar6;\n  FStackY_150.bRestart = (int)pFVar29;\n  FStackY_150.nCost = (int)unaff_s4;\n  FStackY_150.bLookup = (int)unaff_s5;\n  FStackY_150.zTerm = unaff_s6;\n  FStackY_150.nTerm = (int)unaff_s7;\n  FStackY_150.aDoclist = (char *)unaff_s8;\n  FStackY_150.nDoclist = (int)pcVar35;\n  if (iVar20 < (int)pFVar18) {\n    pCsr = (Fts3MultiSegReader *)(iVar20 * 0x10);\n    piVar14 = (int *)((int)&pCsr->apSegment + psVar12->aLimit[1]);\n    iVar20 = *piVar14;\n    if (iVar20 < 1) {\n      if ((iVar20 == 0) && (piVar14[1] != 0)) {\n        iVar4 = 0;\n      }\n      else {\n        pFVar6 = (Fts3Table *)(iVar4 + 2);\n        iVar4 = (int)pCsr + psVar12->aLimit[1] + -0x10;\n        do {\n          psVar12->nTotalChange = (int)pFVar6;\n          if (pFVar6 == pFVar18) goto LAB_0011e7d4;\n          pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20);\n          pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1);\n          piVar14 = (int *)(iVar4 + 0x24);\n          iVar4 = iVar4 + 0x10;\n          if (0 < (int)pCsr) goto LAB_0011e880;\n        } while ((pCsr != (Fts3MultiSegReader *)0x0) || (*piVar14 == 0));\n        iVar4 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    pCsr = (Fts3MultiSegReader *)&psVar12->pVdbe;\n    iVar4 = sqlite3Fts3SegReaderStep(pFVar9,pCsr);\n    if (iVar4 != 100) {\n      psVar12->mTrace = '\0';\n      psVar12->noSharedCache = '\0';\n      psVar12->nSqlExec = '\0';\n      psVar12->field_0x5b = 1;\n      goto LAB_0011e884;\n    }\n    iVar4._0_2_ = psVar12->dbOptFlags;\n    iVar4._2_1_ = psVar12->enc;\n    iVar4._3_1_ = psVar12->autoCommit;\n    if (iVar4 != 0) {\n      pFVar26 = *(Fts3Table **)&psVar12->szMmap;\n      pFVar6 = *(Fts3Table **)&psVar12->temp_store;\n      pCsr = *(Fts3MultiSegReader **)((int)&psVar12->lastRowid + 4);\n      pFVar18 = pFVar26;\n      if ((int)pFVar6 < (int)pFVar26) {\n        pFVar18 = pFVar6;\n      }\n      iVar4 = (**(code **)(pcVar33 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && ((int)pFVar6 < (int)pFVar26)))) {\n        iVar4 = 0;\n        psVar12->mTrace = '\0';\n        psVar12->noSharedCache = '\0';\n        psVar12->nSqlExec = '\0';\n        psVar12->field_0x5b = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar4 = psVar12->aLimit[0];\n    uVar27 = psVar12->nSchemaLock;\n    iVar20 = (int)psVar12->szMmap;\n    if (iVar4 < 2) {\n      pFVar18 = (Fts3Table *)0x2;\n      pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1);\n      iVar4 = (*(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88))(psVar12->aLimit);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar4 = 7;\n        goto LAB_0011e884;\n      }\n      iVar4 = psVar12->aLimit[0];\n    }\n    pFVar18 = (Fts3Table *)(iVar4 << 4);\n    pCsr = (Fts3MultiSegReader *)0x0;\n    (**(code **)(pcVar33 + 0x3d2bc))(psVar12->aLimit[1]);\n    if (0 < (int)uVar27) {\n      FStackY_150.nSegment = 0;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x3cf64) + 0xf74);\n      FStackY_150.apSegment = (Fts3SegReader **)0x0;\n      iVar4 = (*pcVar35)(iVar20,&FStackY_150);\n      iVar30 = *(int *)(pcVar33 + 0x3d024);\nLAB_0011e97c:\n      piVar14 = (int *)psVar12->aLimit[1];\n      pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n      pFVar18 = (Fts3Table *)*piVar14;\n      pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n      piVar14[1] = (int)pCsr;\n      *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n      if (iVar4 < (int)uVar27) {\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        pCsr = &FStackY_150;\n        iVar34 = (*pcVar35)(iVar20 + iVar4);\n        iVar34 = iVar34 + iVar4;\n        if ((0 < (int)FStackY_150.apSegment) ||\n           ((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)))) {\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x14);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x14) = uVar21;\n          *(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10);\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x1c);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x1c) = uVar21;\n          *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n          iVar4 = psVar12->aLimit[1];\n          pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n          pFVar18 = *(Fts3Table **)(iVar4 + 8);\n          pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n          *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n          *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n          if (iVar34 < (int)uVar27) {\n            FStackY_150.nSegment = 0;\n            FStackY_150.apSegment = (Fts3SegReader **)0x0;\n            pCsr = &FStackY_150;\n            iVar28 = (*pcVar35)(iVar20 + iVar34);\n            iVar4 = 0x10;\n            iVar34 = iVar34 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (FStackY_150.apSegment != (Fts3SegReader **)0x0 || FStackY_150.nSegment != 0) {\n          if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)) {\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n        iVar4 = iVar34 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    psVar12->nTotalChange = 0;\n  }\nLAB_0011e880:\n  iVar4 = 0;\nLAB_0011e884:\n  if ((Fts3Table *)FStackY_150.pFilter == (Fts3Table *)*piVar25) {\n    return iVar4;\n  }\n  pcVar33 = *(code **)(pcVar33 + 0x3d318);\n  pFVar6 = (Fts3Table *)FStackY_150.pFilter;\n  (*pcVar33)();\n  iVar4 = pCsr->nSegment;\n  if ((pCsr->bRestart == 0) && (iVar20 = *(int *)(pcVar33 + 0x3ca34), 0 < iVar4)) {\n    iVar34 = 0;\n    iVar30 = *(int *)(pcVar33 + 0x3ca14);\n    pFVar26 = pFVar18;\n    do {\n      iVar28 = 0;\n      pReader_00 = pCsr->apSegment[iVar34];\n      do {\n        iVar8 = fts3SegReaderNext(pFVar6,pReader_00,(int)pFVar26);\n        if (iVar8 != 0) {\n          return iVar8;\n        }\n        pFVar26 = in_a3;\n      } while ((pFVar18 != (Fts3Table *)0x0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18), iVar28 < 0));\n      if ((pReader_00->bLookup != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar20 + 0x5384))(pReader_00);\n      }\n      iVar34 = iVar34 + 1;\n    } while ((pCsr->bRestart == 0) && (iVar34 < pCsr->nSegment));\n  }\n  (*(code *)(*(int *)(pcVar33 + 0x3c998) + 0x2944))\n            (pCsr->apSegment,iVar4,iVar4,*(int *)(pcVar33 + 0x3ca14) + -0x7638);\n  return 0;\nLAB_0011e6ac:\n  iVar4 = 100;\n  pcVar16 = pFStackY_e0->zDb;\n  pFStackY_e0->nLeafAdd = (u32)pFStackY_f4;\n  (pFStackY_e0->base).zErrMsg = unaff_s6;\n  pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n  pFVar29 = p;\n  goto LAB_0011ddb4;\n}\n\n" (function_definition "int fts3SegReaderNext(Fts3Table *p,Fts3SegReader *pReader,int bIncr)\n\n{\n  byte bVar1;\n  sqlite3_stmt **ppsVar2;\n  sqlite3_vtab *psVar3;\n  int iVar4;\n  byte *pbVar5;\n  Fts3Table *pFVar6;\n  Fts3MultiSegReader *pFVar7;\n  int iVar8;\n  Fts3Table *pFVar9;\n  uint uVar10;\n  Fts3Table *pFVar11;\n  sqlite3 *psVar12;\n  sqlite3 *psVar13;\n  int *piVar14;\n  sqlite3_module *psVar15;\n  char *pcVar16;\n  sqlite3_module *psVar17;\n  Fts3Table *pFVar18;\n  byte *pbVar19;\n  int iVar20;\n  Fts3MultiSegReader *pCsr;\n  uint uVar21;\n  Fts3Table *in_a3;\n  byte *pbVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  int *piVar25;\n  Fts3SegReader *pReader_00;\n  Fts3Table *pFVar26;\n  u32 uVar27;\n  int iVar28;\n  Fts3Table *pFVar29;\n  Fts3Table *unaff_s4;\n  int iVar30;\n  char *unaff_s5;\n  char *unaff_s6;\n  Fts3Table *unaff_s7;\n  sqlite3_module *psVar31;\n  undefined *puVar32;\n  code *pcVar33;\n  Fts3Table *unaff_s8;\n  int iVar34;\n  code *pcVar35;\n  Fts3MultiSegReader FStackY_150;\n  undefined *puStackY_108;\n  code *pcStackY_fc;\n  code *pcStackY_f8;\n  Fts3Table *pFStackY_f4;\n  Fts3Table *pFStackY_f0;\n  byte *pbStackY_ec;\n  Fts3Table *pFStackY_e8;\n  int iStackY_e4;\n  Fts3Table *pFStackY_e0;\n  Fts3Table *pFStackY_dc;\n  Fts3Table *pFStackY_d8;\n  Fts3Table *pFStackY_d4;\n  Fts3Table *pFStackY_d0;\n  uint uStackY_cc;\n  Fts3Table *pFStackY_c8;\n  Fts3Table *pFStackY_c4;\n  code *pcStackY_c0;\n  uint uStackY_bc;\n  uint uStackY_b8;\n  uint uStackY_b4;\n  code *pcStackY_b0;\n  code *pcStackY_ac;\n  Fts3Table *pFStackY_a8;\n  sqlite3 *psStackY_a4;\n  Fts3Table *pFStackY_a0;\n  code *pcStackY_9c;\n  int *piStackY_98;\n  sqlite3_mutex *psStackY_94;\n  sqlite3_module *psStackY_90;\n  sqlite3_module *psStackY_8c;\n  sqlite3_module *psStackY_88;\n  sqlite3 *psStackY_84;\n  sqlite3 *psStackY_7c;\n  Fts3SegReader *pFStackY_78;\n  Fts3Table *pFStackY_74;\n  char **ppcStackY_70;\n  Fts3Table *pFStackY_6c;\n  Fts3Table *pFStackY_68;\n  int nPrefix;\n  int nSuffix;\n  Fts3Table *pFStack_1c;\n  \n  pFVar6 = (Fts3Table *)PTR___stack_chk_guard_0015ba2c;\n  pFStack_1c = *(Fts3Table **)PTR___stack_chk_guard_0015ba2c;\n  if (pReader->aDoclist == (char *)0x0) {\n    pFVar26 = (Fts3Table *)pReader->aNode;\n  }\n  else {\n    pFVar26 = (Fts3Table *)(pReader->aDoclist + pReader->nDoclist);\n  }\n  if ((pFVar26 == (Fts3Table *)0x0) || ((Fts3Table *)(pReader->aNode + pReader->nNode) <= pFVar26))\n  {\n    pFVar18 = (Fts3Table *)pReader;\n    if (pReader->ppNextElem == (Fts3HashElem **)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(pReader);\n      iVar4 = *(int *)&pReader->iCurrentBlock;\n      pFVar9 = *(Fts3Table **)((int)&pReader->iCurrentBlock + 4);\n      if (*(int *)&pReader->iLeafEndBlock <= iVar4) {\n        if (*(int *)&pReader->iLeafEndBlock != iVar4) goto LAB_0011da80;\n        in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n        if (*(Fts3Table **)((int)&pReader->iLeafEndBlock + 4) <= pFVar9) {\n          iVar4 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n      *(Fts3Table **)((int)&pReader->iCurrentBlock + 4) = in_a3;\n      piVar25 = (int *)((uint)(in_a3 < pFVar9) + iVar4);\n      *(int **)&pReader->iCurrentBlock = piVar25;\n      iVar4 = sqlite3Fts3ReadBlock\n                        (p,CONCAT44(&pReader->aNode,&pReader->nNode),(char **)pFVar18,piVar25,\n                         (int *)in_a3);\n      if (iVar4 == 0) {\n        pFVar26 = (Fts3Table *)pReader->aNode;\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      p = (Fts3Table *)*pReader->ppNextElem;\n      (*(code *)PTR_sqlite3_free_0015b620)(pReader->aNode);\n      pReader->aNode = (char *)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (p == (Fts3Table *)0x0) {\nLAB_0011da80:\n        iVar4 = 0;\n      }\n      else {\n        unaff_s4 = (Fts3Table *)(p->base).zErrMsg;\n        psVar15 = (unaff_s4->base).pModule;\n        pReader->zTerm = (char *)p->db;\n        pFVar26 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n        pReader->nTerm = (int)p->zDb;\n        iVar4 = (*(code *)puVar32)(pFVar26);\n        if (iVar4 != 0) {\n          pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;\n          pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);\n          iVar4 = 0;\n          pReader->nDoclist = (int)pFVar26;\n          pReader->nNode = (int)pFVar26;\n          pReader->aDoclist = pcVar16;\n          pReader->aNode = pcVar16;\n          pReader->ppNextElem = pReader->ppNextElem + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar4 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    p = (Fts3Table *)(PTR_LAB_0015b6f8 + 0x5f80);\n    pFVar18 = pFVar26;\n    iVar4 = (*(code *)p)(pReader,pFVar26,0x14);\n    if (iVar4 == 0) {\n      bVar1 = *(byte *)&(pFVar26->base).pModule;\n      if ((char)bVar1 < '\0') {\n        pFVar18 = (Fts3Table *)&nPrefix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pFVar26);\n      }\n      else {\n        iVar4 = 1;\n        nPrefix = (uint)bVar1;\n      }\n      pbVar24 = (byte *)((int)pFVar26->aStmt + iVar4 + -0x38);\n      if ((char)*pbVar24 < '\0') {\n        pFVar18 = (Fts3Table *)&nSuffix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n      }\n      else {\n        iVar4 = 1;\n        nSuffix = (uint)*pbVar24;\n      }\n      pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n      if (0 < nSuffix) {\n        iVar4 = 0x10b;\n        if ((int)(pReader->aNode + (pReader->nNode - (int)pFVar26)) < nSuffix) goto LAB_0011db18;\n        pFVar9 = (Fts3Table *)pReader->nTermAlloc;\n        pFVar18 = (Fts3Table *)(nPrefix >> 0x1f);\n        if (nPrefix <= (int)pFVar9) {\n          in_a3 = (Fts3Table *)(nPrefix + nSuffix);\n          iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38;\n          pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4);\n          if ((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))\n          {\n            uVar10 = (uint)in_a3 >> 0x1f;\n            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);\n            in_a3 = unaff_s4;\n            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);\n            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;\n            pReader->zTerm = pcVar16;\n            pReader->nTermAlloc = (int)unaff_s4;\n          }\n          pFVar18 = pFVar26;\n          iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10);\n          if (iVar4 != 0) goto LAB_0011db18;\n          pFVar18 = pFVar26;\n          (*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix);\n          pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38);\n          pReader->nTerm = nPrefix + nSuffix;\n          uVar10 = (uint)*pbVar24;\n          if ((char)*pbVar24 < '\0') {\n            pFVar18 = (Fts3Table *)&pReader->nDoclist;\n            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n            uVar10 = pReader->nDoclist;\n          }\n          else {\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }\n          pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n          pReader->aDoclist = (char *)pFVar26;\n          pReader->pOffsetList = (char *)0x0;\n          if ((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)) {\n            iVar4 = 0;\n            if (pReader->nPopulate != 0) goto LAB_0011db18;\n            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));\n            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;\n          }\n        }\n      }\n      iVar4 = 0x10b;\n    }\n  }\nLAB_0011db18:\n  if (pFStack_1c == *(Fts3Table **)pFVar6) {\n    return iVar4;\n  }\n  pFVar9 = pFStack_1c;\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStackY_108 = puVar32 + 0x45928;\n  pFStackY_68 = unaff_s4;\n  pFStackY_6c = p;\n  ppcStackY_70 = (char **)pFVar6;\n  pFStackY_74 = pFVar26;\n  pFStackY_78 = pReader;\n  piStackY_98 = *(int **)(puVar32 + 0x3dda4);\n  pFStackY_c8 = pFVar9;\n  pFStackY_e0 = pFVar18;\n  psStackY_7c = (sqlite3 *)**(int **)(puVar32 + 0x3dda4);\n  pFStackY_a0 = (Fts3Table *)(pFVar18->base).nRef;\n  pFVar29 = p;\n  if (pFVar9->bDescIdx == '\0') {\n    pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar4 = 0;\n    if (pFStackY_a0 != (Fts3Table *)0x0) {\nLAB_0011dd08:\n      psStackY_a4 = pFVar18->db;\n      unaff_s6 = (pFVar18->base).zErrMsg;\n      psStackY_94 = psStackY_a4->mutex;\n      pcStackY_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pFStackY_f0 = (Fts3Table *)(pFVar18->base).pModule;\n      pcStackY_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStackY_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStackY_cc = (uint)psStackY_94 & 1;\n      do {\n        pFVar9 = pFStackY_c8;\n        pFVar18 = pFStackY_e0;\n        pFVar26 = (Fts3Table *)0x0;\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pFVar29 = p;\n        if (0 < (int)unaff_s6) {\n          do {\n            psVar15 = (((Fts3Table *)pReader)->base).pModule;\n            pFVar6 = pFVar18;\n            pFVar29 = pFVar9;\n            if (*(char *)&psVar15->xCreate == '\0') {\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStackY_ac)();\n            }\n            unaff_s6 = (pFVar18->base).zErrMsg;\n            pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);\n            pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;\n          } while ((int)pFVar26 < (int)unaff_s6);\n        }\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pcStackY_c0 = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x2944);\n        in_a3 = (Fts3Table *)(*(int *)(puStackY_108 + -0x7ed8) + -0x7638);\n        (*pcStackY_c0)(pFStackY_f0,pFStackY_a0,unaff_s6);\n        (pFStackY_e0->base).zErrMsg = (char *)0x0;\n        psVar15 = (((Fts3Table *)pReader)->base).pModule;\n        if (psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0) goto LAB_0011de08;\n        pFVar6 = (Fts3Table *)psVar15->xSync;\n        pFStackY_e0->zLanguageid = (char *)pFVar6;\n        pReader = (Fts3SegReader *)((((Fts3Table *)pReader)->base).pModule)->xCommit;\n        pFStackY_e0->zContentTbl = (char *)pReader;\n        if ((psStackY_a4->pVfs != (sqlite3_vfs *)0x0) && (((uint)psStackY_94 & 0x10) == 0)) {\n          iVar4 = 0;\n          if (((int)pFVar6 < (int)psStackY_a4->pVdbe) ||\n             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))))\n          break;\n          iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader);\n          if (iVar4 != 0) {\n            iVar4 = 0;\n            break;\n          }\n        }\n        pFVar18 = pFStackY_a0;\n        if ((((int)pFStackY_a0 < 2) ||\n            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n           (pFVar6 != (Fts3Table *)psVar15->xSync)) {\nLAB_0011df14:\n          p = pFVar29;\n          pFVar18 = pFStackY_e0;\n          psVar15 = (pFStackY_f0->base).pModule;\n          if (((uint)psStackY_94 & 0x22) == 0) {\n            if ((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }\n          }\n          else {\n            iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          }\n          unaff_s6 = (char *)0x1;\n          (*(code *)(iVar4 + 0x605c))();\n        }\n        else {\n          pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg;\n          unaff_s6 = (char *)0x1;\n          while (iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0) {\n            unaff_s6 = unaff_s6 + 1;\n            if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;\n          }\n          pFVar29 = pFVar18;\n          if (unaff_s6 == (char *)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          ppsVar2 = pFStackY_f0->aStmt;\n          pFVar6 = pFStackY_f0;\n          do {\n            psVar3 = &pFVar6->base;\n            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;\n            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);\n          } while ((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6);\n        }\n        pFVar26 = pFStackY_f0;\n        in_a3 = pFStackY_c4;\n        (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s6);\n        if (((pFVar26->base).pModule)->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) {\n          unaff_s8 = (Fts3Table *)&psStackY_8c;\n          unaff_s7 = (Fts3Table *)&psStackY_90;\n          pFStackY_dc = (Fts3Table *)0x0;\n          pFStackY_d8 = (Fts3Table *)0x0;\n          pFVar6 = (Fts3Table *)&pFStackY_c8->bDescIdx;\n          pFStackY_f4 = (Fts3Table *)0x0;\n          pcStackY_fc = (code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168);\n          pcStackY_9c = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220);\n          uStackY_b8 = (uint)psStackY_94 & 4;\n          uStackY_bc = (uint)psStackY_94 & 2;\n          uStackY_b4 = (uint)psStackY_94 & 0x20;\n          pFStackY_d4 = unaff_s7;\n          pFStackY_d0 = unaff_s8;\n          do {\n            p = pFStackY_f0;\n            psStackY_90 = (sqlite3_module *)0x0;\n            psStackY_8c = (sqlite3_module *)0x0;\n            psVar15 = (pFStackY_f0->base).pModule;\n            pFVar26 = (Fts3Table *)psVar15->xRollbackTo;\n            pReader = (Fts3SegReader *)psVar15->xShadowName;\n            in_a3 = pFStackY_d0;\n            (*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);\n            if (unaff_s6 == (char *)0x1) {\n              unaff_s5 = (char *)0x1;\n            }\n            else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }\n            if (uStackY_b8 != 0) {\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }\n            pFVar18 = pFStackY_e0;\n            if ((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }\n            pFStackY_d8 = pFVar11;\n            pFStackY_dc = pFVar9;\n            pReader = (Fts3SegReader *)pFStackY_f0;\n            in_a3 = pFStackY_c4;\n            (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);\n          } while (((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=\n                   (_func_int_sqlite3_vtab_ptr_int *)0x0);\n          if (0 < (int)pFStackY_f4) goto LAB_0011e6ac;\n        }\n        (pFStackY_e0->base).zErrMsg = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pFStackY_a0 != (Fts3Table *)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar4 = 0;\n  }\nLAB_0011ddb4:\n  if (psStackY_7c == (sqlite3 *)*piStackY_98) {\n    return iVar4;\n  }\n  pcVar33 = *(code **)(puStackY_108 + -0x7ba0);\n  pcVar35 = fts3auxNextMethod;\n  psVar12 = psStackY_7c;\n  (*pcVar33)();\n  piVar25 = *(int **)(pcVar33 + 0x3d334);\n  iVar4 = psVar12->nTotalChange;\n  uVar10 = psVar12->nChange + 1;\n  pFVar18 = (Fts3Table *)psVar12->aLimit[0];\n  iVar20 = iVar4 + 1;\n  FStackY_150.pFilter = (Fts3SegFilter *)*piVar25;\n  pFVar9 = (Fts3Table *)psVar12->pVfs->pNext;\n  psVar12->magic = (uint)(uVar10 < (uint)psVar12->nChange) + psVar12->magic;\n  psVar12->nChange = uVar10;\n  psVar12->nTotalChange = iVar20;\n  FStackY_150.aBuffer = (char *)pReader;\n  FStackY_150.nBuffer = (int)pFVar26;\n  FStackY_150.iColFilter = (int)pFVar6;\n  FStackY_150.bRestart = (int)pFVar29;\n  FStackY_150.nCost = (int)unaff_s4;\n  FStackY_150.bLookup = (int)unaff_s5;\n  FStackY_150.zTerm = unaff_s6;\n  FStackY_150.nTerm = (int)unaff_s7;\n  FStackY_150.aDoclist = (char *)unaff_s8;\n  FStackY_150.nDoclist = (int)pcVar35;\n  if (iVar20 < (int)pFVar18) {\n    pCsr = (Fts3MultiSegReader *)(iVar20 * 0x10);\n    piVar14 = (int *)((int)&pCsr->apSegment + psVar12->aLimit[1]);\n    iVar20 = *piVar14;\n    if (iVar20 < 1) {\n      if ((iVar20 == 0) && (piVar14[1] != 0)) {\n        iVar4 = 0;\n      }\n      else {\n        pFVar6 = (Fts3Table *)(iVar4 + 2);\n        iVar4 = (int)pCsr + psVar12->aLimit[1] + -0x10;\n        do {\n          psVar12->nTotalChange = (int)pFVar6;\n          if (pFVar6 == pFVar18) goto LAB_0011e7d4;\n          pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20);\n          pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1);\n          piVar14 = (int *)(iVar4 + 0x24);\n          iVar4 = iVar4 + 0x10;\n          if (0 < (int)pCsr) goto LAB_0011e880;\n        } while ((pCsr != (Fts3MultiSegReader *)0x0) || (*piVar14 == 0));\n        iVar4 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    pCsr = (Fts3MultiSegReader *)&psVar12->pVdbe;\n    iVar4 = sqlite3Fts3SegReaderStep(pFVar9,pCsr);\n    if (iVar4 != 100) {\n      psVar12->mTrace = '\0';\n      psVar12->noSharedCache = '\0';\n      psVar12->nSqlExec = '\0';\n      psVar12->field_0x5b = 1;\n      goto LAB_0011e884;\n    }\n    iVar4._0_2_ = psVar12->dbOptFlags;\n    iVar4._2_1_ = psVar12->enc;\n    iVar4._3_1_ = psVar12->autoCommit;\n    if (iVar4 != 0) {\n      pFVar26 = *(Fts3Table **)&psVar12->szMmap;\n      pFVar6 = *(Fts3Table **)&psVar12->temp_store;\n      pCsr = *(Fts3MultiSegReader **)((int)&psVar12->lastRowid + 4);\n      pFVar18 = pFVar26;\n      if ((int)pFVar6 < (int)pFVar26) {\n        pFVar18 = pFVar6;\n      }\n      iVar4 = (**(code **)(pcVar33 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && ((int)pFVar6 < (int)pFVar26)))) {\n        iVar4 = 0;\n        psVar12->mTrace = '\0';\n        psVar12->noSharedCache = '\0';\n        psVar12->nSqlExec = '\0';\n        psVar12->field_0x5b = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar4 = psVar12->aLimit[0];\n    uVar27 = psVar12->nSchemaLock;\n    iVar20 = (int)psVar12->szMmap;\n    if (iVar4 < 2) {\n      pFVar18 = (Fts3Table *)0x2;\n      pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1);\n      iVar4 = (*(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88))(psVar12->aLimit);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar4 = 7;\n        goto LAB_0011e884;\n      }\n      iVar4 = psVar12->aLimit[0];\n    }\n    pFVar18 = (Fts3Table *)(iVar4 << 4);\n    pCsr = (Fts3MultiSegReader *)0x0;\n    (**(code **)(pcVar33 + 0x3d2bc))(psVar12->aLimit[1]);\n    if (0 < (int)uVar27) {\n      FStackY_150.nSegment = 0;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x3cf64) + 0xf74);\n      FStackY_150.apSegment = (Fts3SegReader **)0x0;\n      iVar4 = (*pcVar35)(iVar20,&FStackY_150);\n      iVar30 = *(int *)(pcVar33 + 0x3d024);\nLAB_0011e97c:\n      piVar14 = (int *)psVar12->aLimit[1];\n      pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n      pFVar18 = (Fts3Table *)*piVar14;\n      pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n      piVar14[1] = (int)pCsr;\n      *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n      if (iVar4 < (int)uVar27) {\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        pCsr = &FStackY_150;\n        iVar34 = (*pcVar35)(iVar20 + iVar4);\n        iVar34 = iVar34 + iVar4;\n        if ((0 < (int)FStackY_150.apSegment) ||\n           ((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)))) {\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x14);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x14) = uVar21;\n          *(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10);\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x1c);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x1c) = uVar21;\n          *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n          iVar4 = psVar12->aLimit[1];\n          pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n          pFVar18 = *(Fts3Table **)(iVar4 + 8);\n          pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n          *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n          *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n          if (iVar34 < (int)uVar27) {\n            FStackY_150.nSegment = 0;\n            FStackY_150.apSegment = (Fts3SegReader **)0x0;\n            pCsr = &FStackY_150;\n            iVar28 = (*pcVar35)(iVar20 + iVar34);\n            iVar4 = 0x10;\n            iVar34 = iVar34 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (FStackY_150.apSegment != (Fts3SegReader **)0x0 || FStackY_150.nSegment != 0) {\n          if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)) {\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n        iVar4 = iVar34 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    psVar12->nTotalChange = 0;\n  }\nLAB_0011e880:\n  iVar4 = 0;\nLAB_0011e884:\n  if ((Fts3Table *)FStackY_150.pFilter == (Fts3Table *)*piVar25) {\n    return iVar4;\n  }\n  pcVar33 = *(code **)(pcVar33 + 0x3d318);\n  pFVar6 = (Fts3Table *)FStackY_150.pFilter;\n  (*pcVar33)();\n  iVar4 = pCsr->nSegment;\n  if ((pCsr->bRestart == 0) && (iVar20 = *(int *)(pcVar33 + 0x3ca34), 0 < iVar4)) {\n    iVar34 = 0;\n    iVar30 = *(int *)(pcVar33 + 0x3ca14);\n    pFVar26 = pFVar18;\n    do {\n      iVar28 = 0;\n      pReader_00 = pCsr->apSegment[iVar34];\n      do {\n        iVar8 = fts3SegReaderNext(pFVar6,pReader_00,(int)pFVar26);\n        if (iVar8 != 0) {\n          return iVar8;\n        }\n        pFVar26 = in_a3;\n      } while ((pFVar18 != (Fts3Table *)0x0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18), iVar28 < 0));\n      if ((pReader_00->bLookup != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar20 + 0x5384))(pReader_00);\n      }\n      iVar34 = iVar34 + 1;\n    } while ((pCsr->bRestart == 0) && (iVar34 < pCsr->nSegment));\n  }\n  (*(code *)(*(int *)(pcVar33 + 0x3c998) + 0x2944))\n            (pCsr->apSegment,iVar4,iVar4,*(int *)(pcVar33 + 0x3ca14) + -0x7638);\n  return 0;\nLAB_0011e6ac:\n  iVar4 = 100;\n  pcVar16 = pFStackY_e0->zDb;\n  pFStackY_e0->nLeafAdd = (u32)pFStackY_f4;\n  (pFStackY_e0->base).zErrMsg = unaff_s6;\n  pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n  pFVar29 = p;\n  goto LAB_0011ddb4;\n}" primitive_type (function_declarator "fts3SegReaderNext(Fts3Table *p,Fts3SegReader *pReader,int bIncr)" identifier (parameter_list "(Fts3Table *p,Fts3SegReader *pReader,int bIncr)" ( (parameter_declaration "Fts3Table *p" type_identifier (pointer_declarator "*p" * identifier)) , (parameter_declaration "Fts3SegReader *pReader" type_identifier (pointer_declarator "*pReader" * identifier)) , (parameter_declaration "int bIncr" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  sqlite3_stmt **ppsVar2;\n  sqlite3_vtab *psVar3;\n  int iVar4;\n  byte *pbVar5;\n  Fts3Table *pFVar6;\n  Fts3MultiSegReader *pFVar7;\n  int iVar8;\n  Fts3Table *pFVar9;\n  uint uVar10;\n  Fts3Table *pFVar11;\n  sqlite3 *psVar12;\n  sqlite3 *psVar13;\n  int *piVar14;\n  sqlite3_module *psVar15;\n  char *pcVar16;\n  sqlite3_module *psVar17;\n  Fts3Table *pFVar18;\n  byte *pbVar19;\n  int iVar20;\n  Fts3MultiSegReader *pCsr;\n  uint uVar21;\n  Fts3Table *in_a3;\n  byte *pbVar22;\n  byte *pbVar23;\n  byte *pbVar24;\n  int *piVar25;\n  Fts3SegReader *pReader_00;\n  Fts3Table *pFVar26;\n  u32 uVar27;\n  int iVar28;\n  Fts3Table *pFVar29;\n  Fts3Table *unaff_s4;\n  int iVar30;\n  char *unaff_s5;\n  char *unaff_s6;\n  Fts3Table *unaff_s7;\n  sqlite3_module *psVar31;\n  undefined *puVar32;\n  code *pcVar33;\n  Fts3Table *unaff_s8;\n  int iVar34;\n  code *pcVar35;\n  Fts3MultiSegReader FStackY_150;\n  undefined *puStackY_108;\n  code *pcStackY_fc;\n  code *pcStackY_f8;\n  Fts3Table *pFStackY_f4;\n  Fts3Table *pFStackY_f0;\n  byte *pbStackY_ec;\n  Fts3Table *pFStackY_e8;\n  int iStackY_e4;\n  Fts3Table *pFStackY_e0;\n  Fts3Table *pFStackY_dc;\n  Fts3Table *pFStackY_d8;\n  Fts3Table *pFStackY_d4;\n  Fts3Table *pFStackY_d0;\n  uint uStackY_cc;\n  Fts3Table *pFStackY_c8;\n  Fts3Table *pFStackY_c4;\n  code *pcStackY_c0;\n  uint uStackY_bc;\n  uint uStackY_b8;\n  uint uStackY_b4;\n  code *pcStackY_b0;\n  code *pcStackY_ac;\n  Fts3Table *pFStackY_a8;\n  sqlite3 *psStackY_a4;\n  Fts3Table *pFStackY_a0;\n  code *pcStackY_9c;\n  int *piStackY_98;\n  sqlite3_mutex *psStackY_94;\n  sqlite3_module *psStackY_90;\n  sqlite3_module *psStackY_8c;\n  sqlite3_module *psStackY_88;\n  sqlite3 *psStackY_84;\n  sqlite3 *psStackY_7c;\n  Fts3SegReader *pFStackY_78;\n  Fts3Table *pFStackY_74;\n  char **ppcStackY_70;\n  Fts3Table *pFStackY_6c;\n  Fts3Table *pFStackY_68;\n  int nPrefix;\n  int nSuffix;\n  Fts3Table *pFStack_1c;\n  \n  pFVar6 = (Fts3Table *)PTR___stack_chk_guard_0015ba2c;\n  pFStack_1c = *(Fts3Table **)PTR___stack_chk_guard_0015ba2c;\n  if (pReader->aDoclist == (char *)0x0) {\n    pFVar26 = (Fts3Table *)pReader->aNode;\n  }\n  else {\n    pFVar26 = (Fts3Table *)(pReader->aDoclist + pReader->nDoclist);\n  }\n  if ((pFVar26 == (Fts3Table *)0x0) || ((Fts3Table *)(pReader->aNode + pReader->nNode) <= pFVar26))\n  {\n    pFVar18 = (Fts3Table *)pReader;\n    if (pReader->ppNextElem == (Fts3HashElem **)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(pReader);\n      iVar4 = *(int *)&pReader->iCurrentBlock;\n      pFVar9 = *(Fts3Table **)((int)&pReader->iCurrentBlock + 4);\n      if (*(int *)&pReader->iLeafEndBlock <= iVar4) {\n        if (*(int *)&pReader->iLeafEndBlock != iVar4) goto LAB_0011da80;\n        in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n        if (*(Fts3Table **)((int)&pReader->iLeafEndBlock + 4) <= pFVar9) {\n          iVar4 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n      *(Fts3Table **)((int)&pReader->iCurrentBlock + 4) = in_a3;\n      piVar25 = (int *)((uint)(in_a3 < pFVar9) + iVar4);\n      *(int **)&pReader->iCurrentBlock = piVar25;\n      iVar4 = sqlite3Fts3ReadBlock\n                        (p,CONCAT44(&pReader->aNode,&pReader->nNode),(char **)pFVar18,piVar25,\n                         (int *)in_a3);\n      if (iVar4 == 0) {\n        pFVar26 = (Fts3Table *)pReader->aNode;\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      p = (Fts3Table *)*pReader->ppNextElem;\n      (*(code *)PTR_sqlite3_free_0015b620)(pReader->aNode);\n      pReader->aNode = (char *)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (p == (Fts3Table *)0x0) {\nLAB_0011da80:\n        iVar4 = 0;\n      }\n      else {\n        unaff_s4 = (Fts3Table *)(p->base).zErrMsg;\n        psVar15 = (unaff_s4->base).pModule;\n        pReader->zTerm = (char *)p->db;\n        pFVar26 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n        pReader->nTerm = (int)p->zDb;\n        iVar4 = (*(code *)puVar32)(pFVar26);\n        if (iVar4 != 0) {\n          pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;\n          pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);\n          iVar4 = 0;\n          pReader->nDoclist = (int)pFVar26;\n          pReader->nNode = (int)pFVar26;\n          pReader->aDoclist = pcVar16;\n          pReader->aNode = pcVar16;\n          pReader->ppNextElem = pReader->ppNextElem + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar4 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    p = (Fts3Table *)(PTR_LAB_0015b6f8 + 0x5f80);\n    pFVar18 = pFVar26;\n    iVar4 = (*(code *)p)(pReader,pFVar26,0x14);\n    if (iVar4 == 0) {\n      bVar1 = *(byte *)&(pFVar26->base).pModule;\n      if ((char)bVar1 < '\0') {\n        pFVar18 = (Fts3Table *)&nPrefix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pFVar26);\n      }\n      else {\n        iVar4 = 1;\n        nPrefix = (uint)bVar1;\n      }\n      pbVar24 = (byte *)((int)pFVar26->aStmt + iVar4 + -0x38);\n      if ((char)*pbVar24 < '\0') {\n        pFVar18 = (Fts3Table *)&nSuffix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n      }\n      else {\n        iVar4 = 1;\n        nSuffix = (uint)*pbVar24;\n      }\n      pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n      if (0 < nSuffix) {\n        iVar4 = 0x10b;\n        if ((int)(pReader->aNode + (pReader->nNode - (int)pFVar26)) < nSuffix) goto LAB_0011db18;\n        pFVar9 = (Fts3Table *)pReader->nTermAlloc;\n        pFVar18 = (Fts3Table *)(nPrefix >> 0x1f);\n        if (nPrefix <= (int)pFVar9) {\n          in_a3 = (Fts3Table *)(nPrefix + nSuffix);\n          iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38;\n          pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4);\n          if ((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))\n          {\n            uVar10 = (uint)in_a3 >> 0x1f;\n            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);\n            in_a3 = unaff_s4;\n            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);\n            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;\n            pReader->zTerm = pcVar16;\n            pReader->nTermAlloc = (int)unaff_s4;\n          }\n          pFVar18 = pFVar26;\n          iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10);\n          if (iVar4 != 0) goto LAB_0011db18;\n          pFVar18 = pFVar26;\n          (*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix);\n          pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38);\n          pReader->nTerm = nPrefix + nSuffix;\n          uVar10 = (uint)*pbVar24;\n          if ((char)*pbVar24 < '\0') {\n            pFVar18 = (Fts3Table *)&pReader->nDoclist;\n            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n            uVar10 = pReader->nDoclist;\n          }\n          else {\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }\n          pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n          pReader->aDoclist = (char *)pFVar26;\n          pReader->pOffsetList = (char *)0x0;\n          if ((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)) {\n            iVar4 = 0;\n            if (pReader->nPopulate != 0) goto LAB_0011db18;\n            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));\n            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;\n          }\n        }\n      }\n      iVar4 = 0x10b;\n    }\n  }\nLAB_0011db18:\n  if (pFStack_1c == *(Fts3Table **)pFVar6) {\n    return iVar4;\n  }\n  pFVar9 = pFStack_1c;\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStackY_108 = puVar32 + 0x45928;\n  pFStackY_68 = unaff_s4;\n  pFStackY_6c = p;\n  ppcStackY_70 = (char **)pFVar6;\n  pFStackY_74 = pFVar26;\n  pFStackY_78 = pReader;\n  piStackY_98 = *(int **)(puVar32 + 0x3dda4);\n  pFStackY_c8 = pFVar9;\n  pFStackY_e0 = pFVar18;\n  psStackY_7c = (sqlite3 *)**(int **)(puVar32 + 0x3dda4);\n  pFStackY_a0 = (Fts3Table *)(pFVar18->base).nRef;\n  pFVar29 = p;\n  if (pFVar9->bDescIdx == '\0') {\n    pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar4 = 0;\n    if (pFStackY_a0 != (Fts3Table *)0x0) {\nLAB_0011dd08:\n      psStackY_a4 = pFVar18->db;\n      unaff_s6 = (pFVar18->base).zErrMsg;\n      psStackY_94 = psStackY_a4->mutex;\n      pcStackY_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pFStackY_f0 = (Fts3Table *)(pFVar18->base).pModule;\n      pcStackY_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStackY_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStackY_cc = (uint)psStackY_94 & 1;\n      do {\n        pFVar9 = pFStackY_c8;\n        pFVar18 = pFStackY_e0;\n        pFVar26 = (Fts3Table *)0x0;\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pFVar29 = p;\n        if (0 < (int)unaff_s6) {\n          do {\n            psVar15 = (((Fts3Table *)pReader)->base).pModule;\n            pFVar6 = pFVar18;\n            pFVar29 = pFVar9;\n            if (*(char *)&psVar15->xCreate == '\0') {\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStackY_ac)();\n            }\n            unaff_s6 = (pFVar18->base).zErrMsg;\n            pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);\n            pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;\n          } while ((int)pFVar26 < (int)unaff_s6);\n        }\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pcStackY_c0 = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x2944);\n        in_a3 = (Fts3Table *)(*(int *)(puStackY_108 + -0x7ed8) + -0x7638);\n        (*pcStackY_c0)(pFStackY_f0,pFStackY_a0,unaff_s6);\n        (pFStackY_e0->base).zErrMsg = (char *)0x0;\n        psVar15 = (((Fts3Table *)pReader)->base).pModule;\n        if (psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0) goto LAB_0011de08;\n        pFVar6 = (Fts3Table *)psVar15->xSync;\n        pFStackY_e0->zLanguageid = (char *)pFVar6;\n        pReader = (Fts3SegReader *)((((Fts3Table *)pReader)->base).pModule)->xCommit;\n        pFStackY_e0->zContentTbl = (char *)pReader;\n        if ((psStackY_a4->pVfs != (sqlite3_vfs *)0x0) && (((uint)psStackY_94 & 0x10) == 0)) {\n          iVar4 = 0;\n          if (((int)pFVar6 < (int)psStackY_a4->pVdbe) ||\n             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))))\n          break;\n          iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader);\n          if (iVar4 != 0) {\n            iVar4 = 0;\n            break;\n          }\n        }\n        pFVar18 = pFStackY_a0;\n        if ((((int)pFStackY_a0 < 2) ||\n            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n           (pFVar6 != (Fts3Table *)psVar15->xSync)) {\nLAB_0011df14:\n          p = pFVar29;\n          pFVar18 = pFStackY_e0;\n          psVar15 = (pFStackY_f0->base).pModule;\n          if (((uint)psStackY_94 & 0x22) == 0) {\n            if ((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }\n          }\n          else {\n            iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          }\n          unaff_s6 = (char *)0x1;\n          (*(code *)(iVar4 + 0x605c))();\n        }\n        else {\n          pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg;\n          unaff_s6 = (char *)0x1;\n          while (iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0) {\n            unaff_s6 = unaff_s6 + 1;\n            if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;\n          }\n          pFVar29 = pFVar18;\n          if (unaff_s6 == (char *)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          ppsVar2 = pFStackY_f0->aStmt;\n          pFVar6 = pFStackY_f0;\n          do {\n            psVar3 = &pFVar6->base;\n            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;\n            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);\n          } while ((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6);\n        }\n        pFVar26 = pFStackY_f0;\n        in_a3 = pFStackY_c4;\n        (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s6);\n        if (((pFVar26->base).pModule)->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) {\n          unaff_s8 = (Fts3Table *)&psStackY_8c;\n          unaff_s7 = (Fts3Table *)&psStackY_90;\n          pFStackY_dc = (Fts3Table *)0x0;\n          pFStackY_d8 = (Fts3Table *)0x0;\n          pFVar6 = (Fts3Table *)&pFStackY_c8->bDescIdx;\n          pFStackY_f4 = (Fts3Table *)0x0;\n          pcStackY_fc = (code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168);\n          pcStackY_9c = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220);\n          uStackY_b8 = (uint)psStackY_94 & 4;\n          uStackY_bc = (uint)psStackY_94 & 2;\n          uStackY_b4 = (uint)psStackY_94 & 0x20;\n          pFStackY_d4 = unaff_s7;\n          pFStackY_d0 = unaff_s8;\n          do {\n            p = pFStackY_f0;\n            psStackY_90 = (sqlite3_module *)0x0;\n            psStackY_8c = (sqlite3_module *)0x0;\n            psVar15 = (pFStackY_f0->base).pModule;\n            pFVar26 = (Fts3Table *)psVar15->xRollbackTo;\n            pReader = (Fts3SegReader *)psVar15->xShadowName;\n            in_a3 = pFStackY_d0;\n            (*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);\n            if (unaff_s6 == (char *)0x1) {\n              unaff_s5 = (char *)0x1;\n            }\n            else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }\n            if (uStackY_b8 != 0) {\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }\n            pFVar18 = pFStackY_e0;\n            if ((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }\n            pFStackY_d8 = pFVar11;\n            pFStackY_dc = pFVar9;\n            pReader = (Fts3SegReader *)pFStackY_f0;\n            in_a3 = pFStackY_c4;\n            (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);\n          } while (((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=\n                   (_func_int_sqlite3_vtab_ptr_int *)0x0);\n          if (0 < (int)pFStackY_f4) goto LAB_0011e6ac;\n        }\n        (pFStackY_e0->base).zErrMsg = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pFStackY_a0 != (Fts3Table *)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar4 = 0;\n  }\nLAB_0011ddb4:\n  if (psStackY_7c == (sqlite3 *)*piStackY_98) {\n    return iVar4;\n  }\n  pcVar33 = *(code **)(puStackY_108 + -0x7ba0);\n  pcVar35 = fts3auxNextMethod;\n  psVar12 = psStackY_7c;\n  (*pcVar33)();\n  piVar25 = *(int **)(pcVar33 + 0x3d334);\n  iVar4 = psVar12->nTotalChange;\n  uVar10 = psVar12->nChange + 1;\n  pFVar18 = (Fts3Table *)psVar12->aLimit[0];\n  iVar20 = iVar4 + 1;\n  FStackY_150.pFilter = (Fts3SegFilter *)*piVar25;\n  pFVar9 = (Fts3Table *)psVar12->pVfs->pNext;\n  psVar12->magic = (uint)(uVar10 < (uint)psVar12->nChange) + psVar12->magic;\n  psVar12->nChange = uVar10;\n  psVar12->nTotalChange = iVar20;\n  FStackY_150.aBuffer = (char *)pReader;\n  FStackY_150.nBuffer = (int)pFVar26;\n  FStackY_150.iColFilter = (int)pFVar6;\n  FStackY_150.bRestart = (int)pFVar29;\n  FStackY_150.nCost = (int)unaff_s4;\n  FStackY_150.bLookup = (int)unaff_s5;\n  FStackY_150.zTerm = unaff_s6;\n  FStackY_150.nTerm = (int)unaff_s7;\n  FStackY_150.aDoclist = (char *)unaff_s8;\n  FStackY_150.nDoclist = (int)pcVar35;\n  if (iVar20 < (int)pFVar18) {\n    pCsr = (Fts3MultiSegReader *)(iVar20 * 0x10);\n    piVar14 = (int *)((int)&pCsr->apSegment + psVar12->aLimit[1]);\n    iVar20 = *piVar14;\n    if (iVar20 < 1) {\n      if ((iVar20 == 0) && (piVar14[1] != 0)) {\n        iVar4 = 0;\n      }\n      else {\n        pFVar6 = (Fts3Table *)(iVar4 + 2);\n        iVar4 = (int)pCsr + psVar12->aLimit[1] + -0x10;\n        do {\n          psVar12->nTotalChange = (int)pFVar6;\n          if (pFVar6 == pFVar18) goto LAB_0011e7d4;\n          pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20);\n          pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1);\n          piVar14 = (int *)(iVar4 + 0x24);\n          iVar4 = iVar4 + 0x10;\n          if (0 < (int)pCsr) goto LAB_0011e880;\n        } while ((pCsr != (Fts3MultiSegReader *)0x0) || (*piVar14 == 0));\n        iVar4 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    pCsr = (Fts3MultiSegReader *)&psVar12->pVdbe;\n    iVar4 = sqlite3Fts3SegReaderStep(pFVar9,pCsr);\n    if (iVar4 != 100) {\n      psVar12->mTrace = '\0';\n      psVar12->noSharedCache = '\0';\n      psVar12->nSqlExec = '\0';\n      psVar12->field_0x5b = 1;\n      goto LAB_0011e884;\n    }\n    iVar4._0_2_ = psVar12->dbOptFlags;\n    iVar4._2_1_ = psVar12->enc;\n    iVar4._3_1_ = psVar12->autoCommit;\n    if (iVar4 != 0) {\n      pFVar26 = *(Fts3Table **)&psVar12->szMmap;\n      pFVar6 = *(Fts3Table **)&psVar12->temp_store;\n      pCsr = *(Fts3MultiSegReader **)((int)&psVar12->lastRowid + 4);\n      pFVar18 = pFVar26;\n      if ((int)pFVar6 < (int)pFVar26) {\n        pFVar18 = pFVar6;\n      }\n      iVar4 = (**(code **)(pcVar33 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && ((int)pFVar6 < (int)pFVar26)))) {\n        iVar4 = 0;\n        psVar12->mTrace = '\0';\n        psVar12->noSharedCache = '\0';\n        psVar12->nSqlExec = '\0';\n        psVar12->field_0x5b = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar4 = psVar12->aLimit[0];\n    uVar27 = psVar12->nSchemaLock;\n    iVar20 = (int)psVar12->szMmap;\n    if (iVar4 < 2) {\n      pFVar18 = (Fts3Table *)0x2;\n      pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1);\n      iVar4 = (*(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88))(psVar12->aLimit);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar4 = 7;\n        goto LAB_0011e884;\n      }\n      iVar4 = psVar12->aLimit[0];\n    }\n    pFVar18 = (Fts3Table *)(iVar4 << 4);\n    pCsr = (Fts3MultiSegReader *)0x0;\n    (**(code **)(pcVar33 + 0x3d2bc))(psVar12->aLimit[1]);\n    if (0 < (int)uVar27) {\n      FStackY_150.nSegment = 0;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x3cf64) + 0xf74);\n      FStackY_150.apSegment = (Fts3SegReader **)0x0;\n      iVar4 = (*pcVar35)(iVar20,&FStackY_150);\n      iVar30 = *(int *)(pcVar33 + 0x3d024);\nLAB_0011e97c:\n      piVar14 = (int *)psVar12->aLimit[1];\n      pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n      pFVar18 = (Fts3Table *)*piVar14;\n      pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n      piVar14[1] = (int)pCsr;\n      *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n      if (iVar4 < (int)uVar27) {\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        pCsr = &FStackY_150;\n        iVar34 = (*pcVar35)(iVar20 + iVar4);\n        iVar34 = iVar34 + iVar4;\n        if ((0 < (int)FStackY_150.apSegment) ||\n           ((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)))) {\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x14);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x14) = uVar21;\n          *(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10);\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x1c);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x1c) = uVar21;\n          *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n          iVar4 = psVar12->aLimit[1];\n          pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n          pFVar18 = *(Fts3Table **)(iVar4 + 8);\n          pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n          *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n          *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n          if (iVar34 < (int)uVar27) {\n            FStackY_150.nSegment = 0;\n            FStackY_150.apSegment = (Fts3SegReader **)0x0;\n            pCsr = &FStackY_150;\n            iVar28 = (*pcVar35)(iVar20 + iVar34);\n            iVar4 = 0x10;\n            iVar34 = iVar34 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (FStackY_150.apSegment != (Fts3SegReader **)0x0 || FStackY_150.nSegment != 0) {\n          if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)) {\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n        iVar4 = iVar34 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    psVar12->nTotalChange = 0;\n  }\nLAB_0011e880:\n  iVar4 = 0;\nLAB_0011e884:\n  if ((Fts3Table *)FStackY_150.pFilter == (Fts3Table *)*piVar25) {\n    return iVar4;\n  }\n  pcVar33 = *(code **)(pcVar33 + 0x3d318);\n  pFVar6 = (Fts3Table *)FStackY_150.pFilter;\n  (*pcVar33)();\n  iVar4 = pCsr->nSegment;\n  if ((pCsr->bRestart == 0) && (iVar20 = *(int *)(pcVar33 + 0x3ca34), 0 < iVar4)) {\n    iVar34 = 0;\n    iVar30 = *(int *)(pcVar33 + 0x3ca14);\n    pFVar26 = pFVar18;\n    do {\n      iVar28 = 0;\n      pReader_00 = pCsr->apSegment[iVar34];\n      do {\n        iVar8 = fts3SegReaderNext(pFVar6,pReader_00,(int)pFVar26);\n        if (iVar8 != 0) {\n          return iVar8;\n        }\n        pFVar26 = in_a3;\n      } while ((pFVar18 != (Fts3Table *)0x0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18), iVar28 < 0));\n      if ((pReader_00->bLookup != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar20 + 0x5384))(pReader_00);\n      }\n      iVar34 = iVar34 + 1;\n    } while ((pCsr->bRestart == 0) && (iVar34 < pCsr->nSegment));\n  }\n  (*(code *)(*(int *)(pcVar33 + 0x3c998) + 0x2944))\n            (pCsr->apSegment,iVar4,iVar4,*(int *)(pcVar33 + 0x3ca14) + -0x7638);\n  return 0;\nLAB_0011e6ac:\n  iVar4 = 100;\n  pcVar16 = pFStackY_e0->zDb;\n  pFStackY_e0->nLeafAdd = (u32)pFStackY_f4;\n  (pFStackY_e0->base).zErrMsg = unaff_s6;\n  pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n  pFVar29 = p;\n  goto LAB_0011ddb4;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "sqlite3_stmt **ppsVar2;" type_identifier (pointer_declarator "**ppsVar2" * (pointer_declarator "*ppsVar2" * identifier)) ;) (declaration "sqlite3_vtab *psVar3;" type_identifier (pointer_declarator "*psVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "byte *pbVar5;" type_identifier (pointer_declarator "*pbVar5" * identifier) ;) (declaration "Fts3Table *pFVar6;" type_identifier (pointer_declarator "*pFVar6" * identifier) ;) (declaration "Fts3MultiSegReader *pFVar7;" type_identifier (pointer_declarator "*pFVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "Fts3Table *pFVar9;" type_identifier (pointer_declarator "*pFVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "Fts3Table *pFVar11;" type_identifier (pointer_declarator "*pFVar11" * identifier) ;) (declaration "sqlite3 *psVar12;" type_identifier (pointer_declarator "*psVar12" * identifier) ;) (declaration "sqlite3 *psVar13;" type_identifier (pointer_declarator "*psVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "sqlite3_module *psVar15;" type_identifier (pointer_declarator "*psVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "sqlite3_module *psVar17;" type_identifier (pointer_declarator "*psVar17" * identifier) ;) (declaration "Fts3Table *pFVar18;" type_identifier (pointer_declarator "*pFVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "Fts3MultiSegReader *pCsr;" type_identifier (pointer_declarator "*pCsr" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "Fts3Table *in_a3;" type_identifier (pointer_declarator "*in_a3" * identifier) ;) (declaration "byte *pbVar22;" type_identifier (pointer_declarator "*pbVar22" * identifier) ;) (declaration "byte *pbVar23;" type_identifier (pointer_declarator "*pbVar23" * identifier) ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "Fts3SegReader *pReader_00;" type_identifier (pointer_declarator "*pReader_00" * identifier) ;) (declaration "Fts3Table *pFVar26;" type_identifier (pointer_declarator "*pFVar26" * identifier) ;) (declaration "u32 uVar27;" type_identifier identifier ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "Fts3Table *pFVar29;" type_identifier (pointer_declarator "*pFVar29" * identifier) ;) (declaration "Fts3Table *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "char *unaff_s5;" primitive_type (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "char *unaff_s6;" primitive_type (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "Fts3Table *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "sqlite3_module *psVar31;" type_identifier (pointer_declarator "*psVar31" * identifier) ;) (declaration "undefined *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "code *pcVar33;" type_identifier (pointer_declarator "*pcVar33" * identifier) ;) (declaration "Fts3Table *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "int iVar34;" primitive_type identifier ;) (declaration "code *pcVar35;" type_identifier (pointer_declarator "*pcVar35" * identifier) ;) (declaration "Fts3MultiSegReader FStackY_150;" type_identifier identifier ;) (declaration "undefined *puStackY_108;" type_identifier (pointer_declarator "*puStackY_108" * identifier) ;) (declaration "code *pcStackY_fc;" type_identifier (pointer_declarator "*pcStackY_fc" * identifier) ;) (declaration "code *pcStackY_f8;" type_identifier (pointer_declarator "*pcStackY_f8" * identifier) ;) (declaration "Fts3Table *pFStackY_f4;" type_identifier (pointer_declarator "*pFStackY_f4" * identifier) ;) (declaration "Fts3Table *pFStackY_f0;" type_identifier (pointer_declarator "*pFStackY_f0" * identifier) ;) (declaration "byte *pbStackY_ec;" type_identifier (pointer_declarator "*pbStackY_ec" * identifier) ;) (declaration "Fts3Table *pFStackY_e8;" type_identifier (pointer_declarator "*pFStackY_e8" * identifier) ;) (declaration "int iStackY_e4;" primitive_type identifier ;) (declaration "Fts3Table *pFStackY_e0;" type_identifier (pointer_declarator "*pFStackY_e0" * identifier) ;) (declaration "Fts3Table *pFStackY_dc;" type_identifier (pointer_declarator "*pFStackY_dc" * identifier) ;) (declaration "Fts3Table *pFStackY_d8;" type_identifier (pointer_declarator "*pFStackY_d8" * identifier) ;) (declaration "Fts3Table *pFStackY_d4;" type_identifier (pointer_declarator "*pFStackY_d4" * identifier) ;) (declaration "Fts3Table *pFStackY_d0;" type_identifier (pointer_declarator "*pFStackY_d0" * identifier) ;) (declaration "uint uStackY_cc;" type_identifier identifier ;) (declaration "Fts3Table *pFStackY_c8;" type_identifier (pointer_declarator "*pFStackY_c8" * identifier) ;) (declaration "Fts3Table *pFStackY_c4;" type_identifier (pointer_declarator "*pFStackY_c4" * identifier) ;) (declaration "code *pcStackY_c0;" type_identifier (pointer_declarator "*pcStackY_c0" * identifier) ;) (declaration "uint uStackY_bc;" type_identifier identifier ;) (declaration "uint uStackY_b8;" type_identifier identifier ;) (declaration "uint uStackY_b4;" type_identifier identifier ;) (declaration "code *pcStackY_b0;" type_identifier (pointer_declarator "*pcStackY_b0" * identifier) ;) (declaration "code *pcStackY_ac;" type_identifier (pointer_declarator "*pcStackY_ac" * identifier) ;) (declaration "Fts3Table *pFStackY_a8;" type_identifier (pointer_declarator "*pFStackY_a8" * identifier) ;) (declaration "sqlite3 *psStackY_a4;" type_identifier (pointer_declarator "*psStackY_a4" * identifier) ;) (declaration "Fts3Table *pFStackY_a0;" type_identifier (pointer_declarator "*pFStackY_a0" * identifier) ;) (declaration "code *pcStackY_9c;" type_identifier (pointer_declarator "*pcStackY_9c" * identifier) ;) (declaration "int *piStackY_98;" primitive_type (pointer_declarator "*piStackY_98" * identifier) ;) (declaration "sqlite3_mutex *psStackY_94;" type_identifier (pointer_declarator "*psStackY_94" * identifier) ;) (declaration "sqlite3_module *psStackY_90;" type_identifier (pointer_declarator "*psStackY_90" * identifier) ;) (declaration "sqlite3_module *psStackY_8c;" type_identifier (pointer_declarator "*psStackY_8c" * identifier) ;) (declaration "sqlite3_module *psStackY_88;" type_identifier (pointer_declarator "*psStackY_88" * identifier) ;) (declaration "sqlite3 *psStackY_84;" type_identifier (pointer_declarator "*psStackY_84" * identifier) ;) (declaration "sqlite3 *psStackY_7c;" type_identifier (pointer_declarator "*psStackY_7c" * identifier) ;) (declaration "Fts3SegReader *pFStackY_78;" type_identifier (pointer_declarator "*pFStackY_78" * identifier) ;) (declaration "Fts3Table *pFStackY_74;" type_identifier (pointer_declarator "*pFStackY_74" * identifier) ;) (declaration "char **ppcStackY_70;" primitive_type (pointer_declarator "**ppcStackY_70" * (pointer_declarator "*ppcStackY_70" * identifier)) ;) (declaration "Fts3Table *pFStackY_6c;" type_identifier (pointer_declarator "*pFStackY_6c" * identifier) ;) (declaration "Fts3Table *pFStackY_68;" type_identifier (pointer_declarator "*pFStackY_68" * identifier) ;) (declaration "int nPrefix;" primitive_type identifier ;) (declaration "int nSuffix;" primitive_type identifier ;) (declaration "Fts3Table *pFStack_1c;" type_identifier (pointer_declarator "*pFStack_1c" * identifier) ;) (expression_statement "pFVar6 = (Fts3Table *)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pFVar6 = (Fts3Table *)PTR___stack_chk_guard_0015ba2c" identifier = (cast_expression "(Fts3Table *)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pFStack_1c = *(Fts3Table **)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pFStack_1c = *(Fts3Table **)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(Fts3Table **)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(Fts3Table **)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "Fts3Table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (pReader->aDoclist == (char *)0x0) {\n    pFVar26 = (Fts3Table *)pReader->aNode;\n  }\n  else {\n    pFVar26 = (Fts3Table *)(pReader->aDoclist + pReader->nDoclist);\n  }" if (parenthesized_expression "(pReader->aDoclist == (char *)0x0)" ( (binary_expression "pReader->aDoclist == (char *)0x0" (field_expression "pReader->aDoclist" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pFVar26 = (Fts3Table *)pReader->aNode;\n  }" { (expression_statement "pFVar26 = (Fts3Table *)pReader->aNode;" (assignment_expression "pFVar26 = (Fts3Table *)pReader->aNode" identifier = (cast_expression "(Fts3Table *)pReader->aNode" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pReader->aNode" identifier -> field_identifier))) ;) }) (else_clause "else {\n    pFVar26 = (Fts3Table *)(pReader->aDoclist + pReader->nDoclist);\n  }" else (compound_statement "{\n    pFVar26 = (Fts3Table *)(pReader->aDoclist + pReader->nDoclist);\n  }" { (expression_statement "pFVar26 = (Fts3Table *)(pReader->aDoclist + pReader->nDoclist);" (assignment_expression "pFVar26 = (Fts3Table *)(pReader->aDoclist + pReader->nDoclist)" identifier = (cast_expression "(Fts3Table *)(pReader->aDoclist + pReader->nDoclist)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pReader->aDoclist + pReader->nDoclist)" ( (binary_expression "pReader->aDoclist + pReader->nDoclist" (field_expression "pReader->aDoclist" identifier -> field_identifier) + (field_expression "pReader->nDoclist" identifier -> field_identifier)) )))) ;) }))) (if_statement "if ((pFVar26 == (Fts3Table *)0x0) || ((Fts3Table *)(pReader->aNode + pReader->nNode) <= pFVar26))\n  {\n    pFVar18 = (Fts3Table *)pReader;\n    if (pReader->ppNextElem == (Fts3HashElem **)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(pReader);\n      iVar4 = *(int *)&pReader->iCurrentBlock;\n      pFVar9 = *(Fts3Table **)((int)&pReader->iCurrentBlock + 4);\n      if (*(int *)&pReader->iLeafEndBlock <= iVar4) {\n        if (*(int *)&pReader->iLeafEndBlock != iVar4) goto LAB_0011da80;\n        in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n        if (*(Fts3Table **)((int)&pReader->iLeafEndBlock + 4) <= pFVar9) {\n          iVar4 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n      *(Fts3Table **)((int)&pReader->iCurrentBlock + 4) = in_a3;\n      piVar25 = (int *)((uint)(in_a3 < pFVar9) + iVar4);\n      *(int **)&pReader->iCurrentBlock = piVar25;\n      iVar4 = sqlite3Fts3ReadBlock\n                        (p,CONCAT44(&pReader->aNode,&pReader->nNode),(char **)pFVar18,piVar25,\n                         (int *)in_a3);\n      if (iVar4 == 0) {\n        pFVar26 = (Fts3Table *)pReader->aNode;\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      p = (Fts3Table *)*pReader->ppNextElem;\n      (*(code *)PTR_sqlite3_free_0015b620)(pReader->aNode);\n      pReader->aNode = (char *)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (p == (Fts3Table *)0x0) {\nLAB_0011da80:\n        iVar4 = 0;\n      }\n      else {\n        unaff_s4 = (Fts3Table *)(p->base).zErrMsg;\n        psVar15 = (unaff_s4->base).pModule;\n        pReader->zTerm = (char *)p->db;\n        pFVar26 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n        pReader->nTerm = (int)p->zDb;\n        iVar4 = (*(code *)puVar32)(pFVar26);\n        if (iVar4 != 0) {\n          pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;\n          pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);\n          iVar4 = 0;\n          pReader->nDoclist = (int)pFVar26;\n          pReader->nNode = (int)pFVar26;\n          pReader->aDoclist = pcVar16;\n          pReader->aNode = pcVar16;\n          pReader->ppNextElem = pReader->ppNextElem + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar4 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    p = (Fts3Table *)(PTR_LAB_0015b6f8 + 0x5f80);\n    pFVar18 = pFVar26;\n    iVar4 = (*(code *)p)(pReader,pFVar26,0x14);\n    if (iVar4 == 0) {\n      bVar1 = *(byte *)&(pFVar26->base).pModule;\n      if ((char)bVar1 < '\0') {\n        pFVar18 = (Fts3Table *)&nPrefix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pFVar26);\n      }\n      else {\n        iVar4 = 1;\n        nPrefix = (uint)bVar1;\n      }\n      pbVar24 = (byte *)((int)pFVar26->aStmt + iVar4 + -0x38);\n      if ((char)*pbVar24 < '\0') {\n        pFVar18 = (Fts3Table *)&nSuffix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n      }\n      else {\n        iVar4 = 1;\n        nSuffix = (uint)*pbVar24;\n      }\n      pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n      if (0 < nSuffix) {\n        iVar4 = 0x10b;\n        if ((int)(pReader->aNode + (pReader->nNode - (int)pFVar26)) < nSuffix) goto LAB_0011db18;\n        pFVar9 = (Fts3Table *)pReader->nTermAlloc;\n        pFVar18 = (Fts3Table *)(nPrefix >> 0x1f);\n        if (nPrefix <= (int)pFVar9) {\n          in_a3 = (Fts3Table *)(nPrefix + nSuffix);\n          iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38;\n          pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4);\n          if ((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))\n          {\n            uVar10 = (uint)in_a3 >> 0x1f;\n            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);\n            in_a3 = unaff_s4;\n            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);\n            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;\n            pReader->zTerm = pcVar16;\n            pReader->nTermAlloc = (int)unaff_s4;\n          }\n          pFVar18 = pFVar26;\n          iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10);\n          if (iVar4 != 0) goto LAB_0011db18;\n          pFVar18 = pFVar26;\n          (*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix);\n          pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38);\n          pReader->nTerm = nPrefix + nSuffix;\n          uVar10 = (uint)*pbVar24;\n          if ((char)*pbVar24 < '\0') {\n            pFVar18 = (Fts3Table *)&pReader->nDoclist;\n            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n            uVar10 = pReader->nDoclist;\n          }\n          else {\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }\n          pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n          pReader->aDoclist = (char *)pFVar26;\n          pReader->pOffsetList = (char *)0x0;\n          if ((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)) {\n            iVar4 = 0;\n            if (pReader->nPopulate != 0) goto LAB_0011db18;\n            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));\n            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;\n          }\n        }\n      }\n      iVar4 = 0x10b;\n    }\n  }" if (parenthesized_expression "((pFVar26 == (Fts3Table *)0x0) || ((Fts3Table *)(pReader->aNode + pReader->nNode) <= pFVar26))" ( (binary_expression "(pFVar26 == (Fts3Table *)0x0) || ((Fts3Table *)(pReader->aNode + pReader->nNode) <= pFVar26)" (parenthesized_expression "(pFVar26 == (Fts3Table *)0x0)" ( (binary_expression "pFVar26 == (Fts3Table *)0x0" identifier == (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((Fts3Table *)(pReader->aNode + pReader->nNode) <= pFVar26)" ( (binary_expression "(Fts3Table *)(pReader->aNode + pReader->nNode) <= pFVar26" (cast_expression "(Fts3Table *)(pReader->aNode + pReader->nNode)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pReader->aNode + pReader->nNode)" ( (binary_expression "pReader->aNode + pReader->nNode" (field_expression "pReader->aNode" identifier -> field_identifier) + (field_expression "pReader->nNode" identifier -> field_identifier)) ))) <= identifier) ))) )) (compound_statement "{\n    pFVar18 = (Fts3Table *)pReader;\n    if (pReader->ppNextElem == (Fts3HashElem **)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(pReader);\n      iVar4 = *(int *)&pReader->iCurrentBlock;\n      pFVar9 = *(Fts3Table **)((int)&pReader->iCurrentBlock + 4);\n      if (*(int *)&pReader->iLeafEndBlock <= iVar4) {\n        if (*(int *)&pReader->iLeafEndBlock != iVar4) goto LAB_0011da80;\n        in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n        if (*(Fts3Table **)((int)&pReader->iLeafEndBlock + 4) <= pFVar9) {\n          iVar4 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n      *(Fts3Table **)((int)&pReader->iCurrentBlock + 4) = in_a3;\n      piVar25 = (int *)((uint)(in_a3 < pFVar9) + iVar4);\n      *(int **)&pReader->iCurrentBlock = piVar25;\n      iVar4 = sqlite3Fts3ReadBlock\n                        (p,CONCAT44(&pReader->aNode,&pReader->nNode),(char **)pFVar18,piVar25,\n                         (int *)in_a3);\n      if (iVar4 == 0) {\n        pFVar26 = (Fts3Table *)pReader->aNode;\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      p = (Fts3Table *)*pReader->ppNextElem;\n      (*(code *)PTR_sqlite3_free_0015b620)(pReader->aNode);\n      pReader->aNode = (char *)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (p == (Fts3Table *)0x0) {\nLAB_0011da80:\n        iVar4 = 0;\n      }\n      else {\n        unaff_s4 = (Fts3Table *)(p->base).zErrMsg;\n        psVar15 = (unaff_s4->base).pModule;\n        pReader->zTerm = (char *)p->db;\n        pFVar26 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n        pReader->nTerm = (int)p->zDb;\n        iVar4 = (*(code *)puVar32)(pFVar26);\n        if (iVar4 != 0) {\n          pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;\n          pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);\n          iVar4 = 0;\n          pReader->nDoclist = (int)pFVar26;\n          pReader->nNode = (int)pFVar26;\n          pReader->aDoclist = pcVar16;\n          pReader->aNode = pcVar16;\n          pReader->ppNextElem = pReader->ppNextElem + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar4 = 7;\n      }\n    }\n  }" { (expression_statement "pFVar18 = (Fts3Table *)pReader;" (assignment_expression "pFVar18 = (Fts3Table *)pReader" identifier = (cast_expression "(Fts3Table *)pReader" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pReader->ppNextElem == (Fts3HashElem **)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(pReader);\n      iVar4 = *(int *)&pReader->iCurrentBlock;\n      pFVar9 = *(Fts3Table **)((int)&pReader->iCurrentBlock + 4);\n      if (*(int *)&pReader->iLeafEndBlock <= iVar4) {\n        if (*(int *)&pReader->iLeafEndBlock != iVar4) goto LAB_0011da80;\n        in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n        if (*(Fts3Table **)((int)&pReader->iLeafEndBlock + 4) <= pFVar9) {\n          iVar4 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n      *(Fts3Table **)((int)&pReader->iCurrentBlock + 4) = in_a3;\n      piVar25 = (int *)((uint)(in_a3 < pFVar9) + iVar4);\n      *(int **)&pReader->iCurrentBlock = piVar25;\n      iVar4 = sqlite3Fts3ReadBlock\n                        (p,CONCAT44(&pReader->aNode,&pReader->nNode),(char **)pFVar18,piVar25,\n                         (int *)in_a3);\n      if (iVar4 == 0) {\n        pFVar26 = (Fts3Table *)pReader->aNode;\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      p = (Fts3Table *)*pReader->ppNextElem;\n      (*(code *)PTR_sqlite3_free_0015b620)(pReader->aNode);\n      pReader->aNode = (char *)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (p == (Fts3Table *)0x0) {\nLAB_0011da80:\n        iVar4 = 0;\n      }\n      else {\n        unaff_s4 = (Fts3Table *)(p->base).zErrMsg;\n        psVar15 = (unaff_s4->base).pModule;\n        pReader->zTerm = (char *)p->db;\n        pFVar26 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n        pReader->nTerm = (int)p->zDb;\n        iVar4 = (*(code *)puVar32)(pFVar26);\n        if (iVar4 != 0) {\n          pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;\n          pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);\n          iVar4 = 0;\n          pReader->nDoclist = (int)pFVar26;\n          pReader->nNode = (int)pFVar26;\n          pReader->aDoclist = pcVar16;\n          pReader->aNode = pcVar16;\n          pReader->ppNextElem = pReader->ppNextElem + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar4 = 7;\n      }\n    }" if (parenthesized_expression "(pReader->ppNextElem == (Fts3HashElem **)0x0)" ( (binary_expression "pReader->ppNextElem == (Fts3HashElem **)0x0" (field_expression "pReader->ppNextElem" identifier -> field_identifier) == (cast_expression "(Fts3HashElem **)0x0" ( (type_descriptor "Fts3HashElem **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(pReader);\n      iVar4 = *(int *)&pReader->iCurrentBlock;\n      pFVar9 = *(Fts3Table **)((int)&pReader->iCurrentBlock + 4);\n      if (*(int *)&pReader->iLeafEndBlock <= iVar4) {\n        if (*(int *)&pReader->iLeafEndBlock != iVar4) goto LAB_0011da80;\n        in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n        if (*(Fts3Table **)((int)&pReader->iLeafEndBlock + 4) <= pFVar9) {\n          iVar4 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n      *(Fts3Table **)((int)&pReader->iCurrentBlock + 4) = in_a3;\n      piVar25 = (int *)((uint)(in_a3 < pFVar9) + iVar4);\n      *(int **)&pReader->iCurrentBlock = piVar25;\n      iVar4 = sqlite3Fts3ReadBlock\n                        (p,CONCAT44(&pReader->aNode,&pReader->nNode),(char **)pFVar18,piVar25,\n                         (int *)in_a3);\n      if (iVar4 == 0) {\n        pFVar26 = (Fts3Table *)pReader->aNode;\n        goto LAB_0011d91c;\n      }\n    }" { (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x5384))(pReader);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x5384))(pReader)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x5384))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x5384)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x5384)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x5384)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x5384" identifier + number_literal) )))) )) (argument_list "(pReader)" ( identifier ))) ;) (expression_statement "iVar4 = *(int *)&pReader->iCurrentBlock;" (assignment_expression "iVar4 = *(int *)&pReader->iCurrentBlock" identifier = (pointer_expression "*(int *)&pReader->iCurrentBlock" * (cast_expression "(int *)&pReader->iCurrentBlock" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pReader->iCurrentBlock" & (field_expression "pReader->iCurrentBlock" identifier -> field_identifier))))) ;) (expression_statement "pFVar9 = *(Fts3Table **)((int)&pReader->iCurrentBlock + 4);" (assignment_expression "pFVar9 = *(Fts3Table **)((int)&pReader->iCurrentBlock + 4)" identifier = (pointer_expression "*(Fts3Table **)((int)&pReader->iCurrentBlock + 4)" * (cast_expression "(Fts3Table **)((int)&pReader->iCurrentBlock + 4)" ( (type_descriptor "Fts3Table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&pReader->iCurrentBlock + 4)" ( (binary_expression "(int)&pReader->iCurrentBlock + 4" (cast_expression "(int)&pReader->iCurrentBlock" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pReader->iCurrentBlock" & (field_expression "pReader->iCurrentBlock" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (*(int *)&pReader->iLeafEndBlock <= iVar4) {\n        if (*(int *)&pReader->iLeafEndBlock != iVar4) goto LAB_0011da80;\n        in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n        if (*(Fts3Table **)((int)&pReader->iLeafEndBlock + 4) <= pFVar9) {\n          iVar4 = 0;\n          goto LAB_0011db18;\n        }\n      }" if (parenthesized_expression "(*(int *)&pReader->iLeafEndBlock <= iVar4)" ( (binary_expression "*(int *)&pReader->iLeafEndBlock <= iVar4" (pointer_expression "*(int *)&pReader->iLeafEndBlock" * (cast_expression "(int *)&pReader->iLeafEndBlock" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pReader->iLeafEndBlock" & (field_expression "pReader->iLeafEndBlock" identifier -> field_identifier)))) <= identifier) )) (compound_statement "{\n        if (*(int *)&pReader->iLeafEndBlock != iVar4) goto LAB_0011da80;\n        in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);\n        if (*(Fts3Table **)((int)&pReader->iLeafEndBlock + 4) <= pFVar9) {\n          iVar4 = 0;\n          goto LAB_0011db18;\n        }\n      }" { (if_statement "if (*(int *)&pReader->iLeafEndBlock != iVar4) goto LAB_0011da80;" if (parenthesized_expression "(*(int *)&pReader->iLeafEndBlock != iVar4)" ( (binary_expression "*(int *)&pReader->iLeafEndBlock != iVar4" (pointer_expression "*(int *)&pReader->iLeafEndBlock" * (cast_expression "(int *)&pReader->iLeafEndBlock" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pReader->iLeafEndBlock" & (field_expression "pReader->iLeafEndBlock" identifier -> field_identifier)))) != identifier) )) (goto_statement "goto LAB_0011da80;" goto statement_identifier ;)) (expression_statement "in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);" (assignment_expression "in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1)" identifier = (cast_expression "(Fts3Table *)((int)&(pFVar9->base).pModule + 1)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pFVar9->base).pModule + 1)" ( (binary_expression "(int)&(pFVar9->base).pModule + 1" (cast_expression "(int)&(pFVar9->base).pModule" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pFVar9->base).pModule" & (field_expression "(pFVar9->base).pModule" (parenthesized_expression "(pFVar9->base)" ( (field_expression "pFVar9->base" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) ;) (if_statement "if (*(Fts3Table **)((int)&pReader->iLeafEndBlock + 4) <= pFVar9) {\n          iVar4 = 0;\n          goto LAB_0011db18;\n        }" if (parenthesized_expression "(*(Fts3Table **)((int)&pReader->iLeafEndBlock + 4) <= pFVar9)" ( (binary_expression "*(Fts3Table **)((int)&pReader->iLeafEndBlock + 4) <= pFVar9" (pointer_expression "*(Fts3Table **)((int)&pReader->iLeafEndBlock + 4)" * (cast_expression "(Fts3Table **)((int)&pReader->iLeafEndBlock + 4)" ( (type_descriptor "Fts3Table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&pReader->iLeafEndBlock + 4)" ( (binary_expression "(int)&pReader->iLeafEndBlock + 4" (cast_expression "(int)&pReader->iLeafEndBlock" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pReader->iLeafEndBlock" & (field_expression "pReader->iLeafEndBlock" identifier -> field_identifier))) + number_literal) )))) <= identifier) )) (compound_statement "{\n          iVar4 = 0;\n          goto LAB_0011db18;\n        }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;) })) })) (expression_statement "in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1);" (assignment_expression "in_a3 = (Fts3Table *)((int)&(pFVar9->base).pModule + 1)" identifier = (cast_expression "(Fts3Table *)((int)&(pFVar9->base).pModule + 1)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pFVar9->base).pModule + 1)" ( (binary_expression "(int)&(pFVar9->base).pModule + 1" (cast_expression "(int)&(pFVar9->base).pModule" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pFVar9->base).pModule" & (field_expression "(pFVar9->base).pModule" (parenthesized_expression "(pFVar9->base)" ( (field_expression "pFVar9->base" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) ;) (expression_statement "*(Fts3Table **)((int)&pReader->iCurrentBlock + 4) = in_a3;" (assignment_expression "*(Fts3Table **)((int)&pReader->iCurrentBlock + 4) = in_a3" (pointer_expression "*(Fts3Table **)((int)&pReader->iCurrentBlock + 4)" * (cast_expression "(Fts3Table **)((int)&pReader->iCurrentBlock + 4)" ( (type_descriptor "Fts3Table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&pReader->iCurrentBlock + 4)" ( (binary_expression "(int)&pReader->iCurrentBlock + 4" (cast_expression "(int)&pReader->iCurrentBlock" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pReader->iCurrentBlock" & (field_expression "pReader->iCurrentBlock" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "piVar25 = (int *)((uint)(in_a3 < pFVar9) + iVar4);" (assignment_expression "piVar25 = (int *)((uint)(in_a3 < pFVar9) + iVar4)" identifier = (cast_expression "(int *)((uint)(in_a3 < pFVar9) + iVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(in_a3 < pFVar9) + iVar4)" ( (binary_expression "(uint)(in_a3 < pFVar9) + iVar4" (call_expression "(uint)(in_a3 < pFVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_a3 < pFVar9)" ( (binary_expression "in_a3 < pFVar9" identifier < identifier) ))) + identifier) )))) ;) (expression_statement "*(int **)&pReader->iCurrentBlock = piVar25;" (assignment_expression "*(int **)&pReader->iCurrentBlock = piVar25" (pointer_expression "*(int **)&pReader->iCurrentBlock" * (cast_expression "(int **)&pReader->iCurrentBlock" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pReader->iCurrentBlock" & (field_expression "pReader->iCurrentBlock" identifier -> field_identifier)))) = identifier) ;) (expression_statement "iVar4 = sqlite3Fts3ReadBlock\n                        (p,CONCAT44(&pReader->aNode,&pReader->nNode),(char **)pFVar18,piVar25,\n                         (int *)in_a3);" (assignment_expression "iVar4 = sqlite3Fts3ReadBlock\n                        (p,CONCAT44(&pReader->aNode,&pReader->nNode),(char **)pFVar18,piVar25,\n                         (int *)in_a3)" identifier = (call_expression "sqlite3Fts3ReadBlock\n                        (p,CONCAT44(&pReader->aNode,&pReader->nNode),(char **)pFVar18,piVar25,\n                         (int *)in_a3)" identifier (argument_list "(p,CONCAT44(&pReader->aNode,&pReader->nNode),(char **)pFVar18,piVar25,\n                         (int *)in_a3)" ( identifier , (call_expression "CONCAT44(&pReader->aNode,&pReader->nNode)" identifier (argument_list "(&pReader->aNode,&pReader->nNode)" ( (pointer_expression "&pReader->aNode" & (field_expression "pReader->aNode" identifier -> field_identifier)) , (pointer_expression "&pReader->nNode" & (field_expression "pReader->nNode" identifier -> field_identifier)) ))) , (cast_expression "(char **)pFVar18" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , identifier , (cast_expression "(int *)in_a3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (if_statement "if (iVar4 == 0) {\n        pFVar26 = (Fts3Table *)pReader->aNode;\n        goto LAB_0011d91c;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        pFVar26 = (Fts3Table *)pReader->aNode;\n        goto LAB_0011d91c;\n      }" { (expression_statement "pFVar26 = (Fts3Table *)pReader->aNode;" (assignment_expression "pFVar26 = (Fts3Table *)pReader->aNode" identifier = (cast_expression "(Fts3Table *)pReader->aNode" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pReader->aNode" identifier -> field_identifier))) ;) (goto_statement "goto LAB_0011d91c;" goto statement_identifier ;) })) }) (else_clause "else {\n      p = (Fts3Table *)*pReader->ppNextElem;\n      (*(code *)PTR_sqlite3_free_0015b620)(pReader->aNode);\n      pReader->aNode = (char *)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (p == (Fts3Table *)0x0) {\nLAB_0011da80:\n        iVar4 = 0;\n      }\n      else {\n        unaff_s4 = (Fts3Table *)(p->base).zErrMsg;\n        psVar15 = (unaff_s4->base).pModule;\n        pReader->zTerm = (char *)p->db;\n        pFVar26 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n        pReader->nTerm = (int)p->zDb;\n        iVar4 = (*(code *)puVar32)(pFVar26);\n        if (iVar4 != 0) {\n          pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;\n          pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);\n          iVar4 = 0;\n          pReader->nDoclist = (int)pFVar26;\n          pReader->nNode = (int)pFVar26;\n          pReader->aDoclist = pcVar16;\n          pReader->aNode = pcVar16;\n          pReader->ppNextElem = pReader->ppNextElem + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar4 = 7;\n      }\n    }" else (compound_statement "{\n      p = (Fts3Table *)*pReader->ppNextElem;\n      (*(code *)PTR_sqlite3_free_0015b620)(pReader->aNode);\n      pReader->aNode = (char *)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (p == (Fts3Table *)0x0) {\nLAB_0011da80:\n        iVar4 = 0;\n      }\n      else {\n        unaff_s4 = (Fts3Table *)(p->base).zErrMsg;\n        psVar15 = (unaff_s4->base).pModule;\n        pReader->zTerm = (char *)p->db;\n        pFVar26 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n        pReader->nTerm = (int)p->zDb;\n        iVar4 = (*(code *)puVar32)(pFVar26);\n        if (iVar4 != 0) {\n          pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;\n          pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);\n          iVar4 = 0;\n          pReader->nDoclist = (int)pFVar26;\n          pReader->nNode = (int)pFVar26;\n          pReader->aDoclist = pcVar16;\n          pReader->aNode = pcVar16;\n          pReader->ppNextElem = pReader->ppNextElem + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar4 = 7;\n      }\n    }" { (expression_statement "p = (Fts3Table *)*pReader->ppNextElem;" (assignment_expression "p = (Fts3Table *)*pReader->ppNextElem" identifier = (cast_expression "(Fts3Table *)*pReader->ppNextElem" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pReader->ppNextElem" * (field_expression "pReader->ppNextElem" identifier -> field_identifier)))) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(pReader->aNode);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(pReader->aNode)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pReader->aNode)" ( (field_expression "pReader->aNode" identifier -> field_identifier) ))) ;) (expression_statement "pReader->aNode = (char *)0x0;" (assignment_expression "pReader->aNode = (char *)0x0" (field_expression "pReader->aNode" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar32 = PTR_sqlite3_malloc_0015b640;" (assignment_expression "puVar32 = PTR_sqlite3_malloc_0015b640" identifier = identifier) ;) (if_statement "if (p == (Fts3Table *)0x0) {\nLAB_0011da80:\n        iVar4 = 0;\n      }\n      else {\n        unaff_s4 = (Fts3Table *)(p->base).zErrMsg;\n        psVar15 = (unaff_s4->base).pModule;\n        pReader->zTerm = (char *)p->db;\n        pFVar26 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n        pReader->nTerm = (int)p->zDb;\n        iVar4 = (*(code *)puVar32)(pFVar26);\n        if (iVar4 != 0) {\n          pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;\n          pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);\n          iVar4 = 0;\n          pReader->nDoclist = (int)pFVar26;\n          pReader->nNode = (int)pFVar26;\n          pReader->aDoclist = pcVar16;\n          pReader->aNode = pcVar16;\n          pReader->ppNextElem = pReader->ppNextElem + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar4 = 7;\n      }" if (parenthesized_expression "(p == (Fts3Table *)0x0)" ( (binary_expression "p == (Fts3Table *)0x0" identifier == (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0011da80:\n        iVar4 = 0;\n      }" { (labeled_statement "LAB_0011da80:\n        iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n        unaff_s4 = (Fts3Table *)(p->base).zErrMsg;\n        psVar15 = (unaff_s4->base).pModule;\n        pReader->zTerm = (char *)p->db;\n        pFVar26 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n        pReader->nTerm = (int)p->zDb;\n        iVar4 = (*(code *)puVar32)(pFVar26);\n        if (iVar4 != 0) {\n          pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;\n          pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);\n          iVar4 = 0;\n          pReader->nDoclist = (int)pFVar26;\n          pReader->nNode = (int)pFVar26;\n          pReader->aDoclist = pcVar16;\n          pReader->aNode = pcVar16;\n          pReader->ppNextElem = pReader->ppNextElem + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar4 = 7;\n      }" else (compound_statement "{\n        unaff_s4 = (Fts3Table *)(p->base).zErrMsg;\n        psVar15 = (unaff_s4->base).pModule;\n        pReader->zTerm = (char *)p->db;\n        pFVar26 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n        pReader->nTerm = (int)p->zDb;\n        iVar4 = (*(code *)puVar32)(pFVar26);\n        if (iVar4 != 0) {\n          pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;\n          pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);\n          iVar4 = 0;\n          pReader->nDoclist = (int)pFVar26;\n          pReader->nNode = (int)pFVar26;\n          pReader->aDoclist = pcVar16;\n          pReader->aNode = pcVar16;\n          pReader->ppNextElem = pReader->ppNextElem + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar4 = 7;\n      }" { (expression_statement "unaff_s4 = (Fts3Table *)(p->base).zErrMsg;" (assignment_expression "unaff_s4 = (Fts3Table *)(p->base).zErrMsg" identifier = (cast_expression "(Fts3Table *)(p->base).zErrMsg" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(p->base).zErrMsg" (parenthesized_expression "(p->base)" ( (field_expression "p->base" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "psVar15 = (unaff_s4->base).pModule;" (assignment_expression "psVar15 = (unaff_s4->base).pModule" identifier = (field_expression "(unaff_s4->base).pModule" (parenthesized_expression "(unaff_s4->base)" ( (field_expression "unaff_s4->base" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pReader->zTerm = (char *)p->db;" (assignment_expression "pReader->zTerm = (char *)p->db" (field_expression "pReader->zTerm" identifier -> field_identifier) = (cast_expression "(char *)p->db" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "p->db" identifier -> field_identifier))) ;) (expression_statement "pFVar26 = (Fts3Table *)((int)&psVar15->iVersion + 1);" (assignment_expression "pFVar26 = (Fts3Table *)((int)&psVar15->iVersion + 1)" identifier = (cast_expression "(Fts3Table *)((int)&psVar15->iVersion + 1)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar15->iVersion + 1)" ( (binary_expression "(int)&psVar15->iVersion + 1" (cast_expression "(int)&psVar15->iVersion" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar15->iVersion" & (field_expression "psVar15->iVersion" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pReader->nTerm = (int)p->zDb;" (assignment_expression "pReader->nTerm = (int)p->zDb" (field_expression "pReader->nTerm" identifier -> field_identifier) = (cast_expression "(int)p->zDb" ( (type_descriptor "int" primitive_type) ) (field_expression "p->zDb" identifier -> field_identifier))) ;) (expression_statement "iVar4 = (*(code *)puVar32)(pFVar26);" (assignment_expression "iVar4 = (*(code *)puVar32)(pFVar26)" identifier = (call_expression "(*(code *)puVar32)(pFVar26)" (parenthesized_expression "(*(code *)puVar32)" ( (pointer_expression "*(code *)puVar32" * (cast_expression "(code *)puVar32" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pFVar26)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) {\n          pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;\n          pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);\n          iVar4 = 0;\n          pReader->nDoclist = (int)pFVar26;\n          pReader->nNode = (int)pFVar26;\n          pReader->aDoclist = pcVar16;\n          pReader->aNode = pcVar16;\n          pReader->ppNextElem = pReader->ppNextElem + 1;\n          goto LAB_0011db18;\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;\n          pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);\n          iVar4 = 0;\n          pReader->nDoclist = (int)pFVar26;\n          pReader->nNode = (int)pFVar26;\n          pReader->aDoclist = pcVar16;\n          pReader->aNode = pcVar16;\n          pReader->ppNextElem = pReader->ppNextElem + 1;\n          goto LAB_0011db18;\n        }" { (expression_statement "pFVar18 = (Fts3Table *)(unaff_s4->base).nRef;" (assignment_expression "pFVar18 = (Fts3Table *)(unaff_s4->base).nRef" identifier = (cast_expression "(Fts3Table *)(unaff_s4->base).nRef" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(unaff_s4->base).nRef" (parenthesized_expression "(unaff_s4->base)" ( (field_expression "unaff_s4->base" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26);" (assignment_expression "pcVar16 = (char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26)" identifier = (cast_expression "(char *)(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_memcpy_0015ba30)(iVar4,pFVar18,pFVar26)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4,pFVar18,pFVar26)" ( identifier , identifier , identifier ))))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "pReader->nDoclist = (int)pFVar26;" (assignment_expression "pReader->nDoclist = (int)pFVar26" (field_expression "pReader->nDoclist" identifier -> field_identifier) = (cast_expression "(int)pFVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pReader->nNode = (int)pFVar26;" (assignment_expression "pReader->nNode = (int)pFVar26" (field_expression "pReader->nNode" identifier -> field_identifier) = (cast_expression "(int)pFVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pReader->aDoclist = pcVar16;" (assignment_expression "pReader->aDoclist = pcVar16" (field_expression "pReader->aDoclist" identifier -> field_identifier) = identifier) ;) (expression_statement "pReader->aNode = pcVar16;" (assignment_expression "pReader->aNode = pcVar16" (field_expression "pReader->aNode" identifier -> field_identifier) = identifier) ;) (expression_statement "pReader->ppNextElem = pReader->ppNextElem + 1;" (assignment_expression "pReader->ppNextElem = pReader->ppNextElem + 1" (field_expression "pReader->ppNextElem" identifier -> field_identifier) = (binary_expression "pReader->ppNextElem + 1" (field_expression "pReader->ppNextElem" identifier -> field_identifier) + number_literal)) ;) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;) })) (labeled_statement "LAB_0011dbc4:\n        iVar4 = 7;" statement_identifier : (expression_statement "iVar4 = 7;" (assignment_expression "iVar4 = 7" identifier = number_literal) ;)) }))) }))) }) (else_clause "else {\nLAB_0011d91c:\n    p = (Fts3Table *)(PTR_LAB_0015b6f8 + 0x5f80);\n    pFVar18 = pFVar26;\n    iVar4 = (*(code *)p)(pReader,pFVar26,0x14);\n    if (iVar4 == 0) {\n      bVar1 = *(byte *)&(pFVar26->base).pModule;\n      if ((char)bVar1 < '\0') {\n        pFVar18 = (Fts3Table *)&nPrefix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pFVar26);\n      }\n      else {\n        iVar4 = 1;\n        nPrefix = (uint)bVar1;\n      }\n      pbVar24 = (byte *)((int)pFVar26->aStmt + iVar4 + -0x38);\n      if ((char)*pbVar24 < '\0') {\n        pFVar18 = (Fts3Table *)&nSuffix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n      }\n      else {\n        iVar4 = 1;\n        nSuffix = (uint)*pbVar24;\n      }\n      pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n      if (0 < nSuffix) {\n        iVar4 = 0x10b;\n        if ((int)(pReader->aNode + (pReader->nNode - (int)pFVar26)) < nSuffix) goto LAB_0011db18;\n        pFVar9 = (Fts3Table *)pReader->nTermAlloc;\n        pFVar18 = (Fts3Table *)(nPrefix >> 0x1f);\n        if (nPrefix <= (int)pFVar9) {\n          in_a3 = (Fts3Table *)(nPrefix + nSuffix);\n          iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38;\n          pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4);\n          if ((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))\n          {\n            uVar10 = (uint)in_a3 >> 0x1f;\n            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);\n            in_a3 = unaff_s4;\n            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);\n            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;\n            pReader->zTerm = pcVar16;\n            pReader->nTermAlloc = (int)unaff_s4;\n          }\n          pFVar18 = pFVar26;\n          iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10);\n          if (iVar4 != 0) goto LAB_0011db18;\n          pFVar18 = pFVar26;\n          (*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix);\n          pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38);\n          pReader->nTerm = nPrefix + nSuffix;\n          uVar10 = (uint)*pbVar24;\n          if ((char)*pbVar24 < '\0') {\n            pFVar18 = (Fts3Table *)&pReader->nDoclist;\n            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n            uVar10 = pReader->nDoclist;\n          }\n          else {\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }\n          pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n          pReader->aDoclist = (char *)pFVar26;\n          pReader->pOffsetList = (char *)0x0;\n          if ((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)) {\n            iVar4 = 0;\n            if (pReader->nPopulate != 0) goto LAB_0011db18;\n            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));\n            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;\n          }\n        }\n      }\n      iVar4 = 0x10b;\n    }\n  }" else (compound_statement "{\nLAB_0011d91c:\n    p = (Fts3Table *)(PTR_LAB_0015b6f8 + 0x5f80);\n    pFVar18 = pFVar26;\n    iVar4 = (*(code *)p)(pReader,pFVar26,0x14);\n    if (iVar4 == 0) {\n      bVar1 = *(byte *)&(pFVar26->base).pModule;\n      if ((char)bVar1 < '\0') {\n        pFVar18 = (Fts3Table *)&nPrefix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pFVar26);\n      }\n      else {\n        iVar4 = 1;\n        nPrefix = (uint)bVar1;\n      }\n      pbVar24 = (byte *)((int)pFVar26->aStmt + iVar4 + -0x38);\n      if ((char)*pbVar24 < '\0') {\n        pFVar18 = (Fts3Table *)&nSuffix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n      }\n      else {\n        iVar4 = 1;\n        nSuffix = (uint)*pbVar24;\n      }\n      pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n      if (0 < nSuffix) {\n        iVar4 = 0x10b;\n        if ((int)(pReader->aNode + (pReader->nNode - (int)pFVar26)) < nSuffix) goto LAB_0011db18;\n        pFVar9 = (Fts3Table *)pReader->nTermAlloc;\n        pFVar18 = (Fts3Table *)(nPrefix >> 0x1f);\n        if (nPrefix <= (int)pFVar9) {\n          in_a3 = (Fts3Table *)(nPrefix + nSuffix);\n          iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38;\n          pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4);\n          if ((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))\n          {\n            uVar10 = (uint)in_a3 >> 0x1f;\n            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);\n            in_a3 = unaff_s4;\n            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);\n            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;\n            pReader->zTerm = pcVar16;\n            pReader->nTermAlloc = (int)unaff_s4;\n          }\n          pFVar18 = pFVar26;\n          iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10);\n          if (iVar4 != 0) goto LAB_0011db18;\n          pFVar18 = pFVar26;\n          (*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix);\n          pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38);\n          pReader->nTerm = nPrefix + nSuffix;\n          uVar10 = (uint)*pbVar24;\n          if ((char)*pbVar24 < '\0') {\n            pFVar18 = (Fts3Table *)&pReader->nDoclist;\n            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n            uVar10 = pReader->nDoclist;\n          }\n          else {\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }\n          pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n          pReader->aDoclist = (char *)pFVar26;\n          pReader->pOffsetList = (char *)0x0;\n          if ((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)) {\n            iVar4 = 0;\n            if (pReader->nPopulate != 0) goto LAB_0011db18;\n            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));\n            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;\n          }\n        }\n      }\n      iVar4 = 0x10b;\n    }\n  }" { (labeled_statement "LAB_0011d91c:\n    p = (Fts3Table *)(PTR_LAB_0015b6f8 + 0x5f80);" statement_identifier : (expression_statement "p = (Fts3Table *)(PTR_LAB_0015b6f8 + 0x5f80);" (assignment_expression "p = (Fts3Table *)(PTR_LAB_0015b6f8 + 0x5f80)" identifier = (cast_expression "(Fts3Table *)(PTR_LAB_0015b6f8 + 0x5f80)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x5f80)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x5f80" identifier + number_literal) )))) ;)) (expression_statement "pFVar18 = pFVar26;" (assignment_expression "pFVar18 = pFVar26" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)p)(pReader,pFVar26,0x14);" (assignment_expression "iVar4 = (*(code *)p)(pReader,pFVar26,0x14)" identifier = (call_expression "(*(code *)p)(pReader,pFVar26,0x14)" (parenthesized_expression "(*(code *)p)" ( (pointer_expression "*(code *)p" * (cast_expression "(code *)p" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pReader,pFVar26,0x14)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar4 == 0) {\n      bVar1 = *(byte *)&(pFVar26->base).pModule;\n      if ((char)bVar1 < '\0') {\n        pFVar18 = (Fts3Table *)&nPrefix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pFVar26);\n      }\n      else {\n        iVar4 = 1;\n        nPrefix = (uint)bVar1;\n      }\n      pbVar24 = (byte *)((int)pFVar26->aStmt + iVar4 + -0x38);\n      if ((char)*pbVar24 < '\0') {\n        pFVar18 = (Fts3Table *)&nSuffix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n      }\n      else {\n        iVar4 = 1;\n        nSuffix = (uint)*pbVar24;\n      }\n      pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n      if (0 < nSuffix) {\n        iVar4 = 0x10b;\n        if ((int)(pReader->aNode + (pReader->nNode - (int)pFVar26)) < nSuffix) goto LAB_0011db18;\n        pFVar9 = (Fts3Table *)pReader->nTermAlloc;\n        pFVar18 = (Fts3Table *)(nPrefix >> 0x1f);\n        if (nPrefix <= (int)pFVar9) {\n          in_a3 = (Fts3Table *)(nPrefix + nSuffix);\n          iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38;\n          pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4);\n          if ((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))\n          {\n            uVar10 = (uint)in_a3 >> 0x1f;\n            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);\n            in_a3 = unaff_s4;\n            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);\n            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;\n            pReader->zTerm = pcVar16;\n            pReader->nTermAlloc = (int)unaff_s4;\n          }\n          pFVar18 = pFVar26;\n          iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10);\n          if (iVar4 != 0) goto LAB_0011db18;\n          pFVar18 = pFVar26;\n          (*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix);\n          pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38);\n          pReader->nTerm = nPrefix + nSuffix;\n          uVar10 = (uint)*pbVar24;\n          if ((char)*pbVar24 < '\0') {\n            pFVar18 = (Fts3Table *)&pReader->nDoclist;\n            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n            uVar10 = pReader->nDoclist;\n          }\n          else {\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }\n          pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n          pReader->aDoclist = (char *)pFVar26;\n          pReader->pOffsetList = (char *)0x0;\n          if ((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)) {\n            iVar4 = 0;\n            if (pReader->nPopulate != 0) goto LAB_0011db18;\n            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));\n            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;\n          }\n        }\n      }\n      iVar4 = 0x10b;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      bVar1 = *(byte *)&(pFVar26->base).pModule;\n      if ((char)bVar1 < '\0') {\n        pFVar18 = (Fts3Table *)&nPrefix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pFVar26);\n      }\n      else {\n        iVar4 = 1;\n        nPrefix = (uint)bVar1;\n      }\n      pbVar24 = (byte *)((int)pFVar26->aStmt + iVar4 + -0x38);\n      if ((char)*pbVar24 < '\0') {\n        pFVar18 = (Fts3Table *)&nSuffix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n      }\n      else {\n        iVar4 = 1;\n        nSuffix = (uint)*pbVar24;\n      }\n      pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n      if (0 < nSuffix) {\n        iVar4 = 0x10b;\n        if ((int)(pReader->aNode + (pReader->nNode - (int)pFVar26)) < nSuffix) goto LAB_0011db18;\n        pFVar9 = (Fts3Table *)pReader->nTermAlloc;\n        pFVar18 = (Fts3Table *)(nPrefix >> 0x1f);\n        if (nPrefix <= (int)pFVar9) {\n          in_a3 = (Fts3Table *)(nPrefix + nSuffix);\n          iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38;\n          pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4);\n          if ((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))\n          {\n            uVar10 = (uint)in_a3 >> 0x1f;\n            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);\n            in_a3 = unaff_s4;\n            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);\n            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;\n            pReader->zTerm = pcVar16;\n            pReader->nTermAlloc = (int)unaff_s4;\n          }\n          pFVar18 = pFVar26;\n          iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10);\n          if (iVar4 != 0) goto LAB_0011db18;\n          pFVar18 = pFVar26;\n          (*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix);\n          pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38);\n          pReader->nTerm = nPrefix + nSuffix;\n          uVar10 = (uint)*pbVar24;\n          if ((char)*pbVar24 < '\0') {\n            pFVar18 = (Fts3Table *)&pReader->nDoclist;\n            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n            uVar10 = pReader->nDoclist;\n          }\n          else {\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }\n          pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n          pReader->aDoclist = (char *)pFVar26;\n          pReader->pOffsetList = (char *)0x0;\n          if ((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)) {\n            iVar4 = 0;\n            if (pReader->nPopulate != 0) goto LAB_0011db18;\n            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));\n            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;\n          }\n        }\n      }\n      iVar4 = 0x10b;\n    }" { (expression_statement "bVar1 = *(byte *)&(pFVar26->base).pModule;" (assignment_expression "bVar1 = *(byte *)&(pFVar26->base).pModule" identifier = (pointer_expression "*(byte *)&(pFVar26->base).pModule" * (cast_expression "(byte *)&(pFVar26->base).pModule" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pFVar26->base).pModule" & (field_expression "(pFVar26->base).pModule" (parenthesized_expression "(pFVar26->base)" ( (field_expression "pFVar26->base" identifier -> field_identifier) )) . field_identifier))))) ;) (if_statement "if ((char)bVar1 < '\0') {\n        pFVar18 = (Fts3Table *)&nPrefix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pFVar26);\n      }\n      else {\n        iVar4 = 1;\n        nPrefix = (uint)bVar1;\n      }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pFVar18 = (Fts3Table *)&nPrefix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pFVar26);\n      }" { (expression_statement "pFVar18 = (Fts3Table *)&nPrefix;" (assignment_expression "pFVar18 = (Fts3Table *)&nPrefix" identifier = (cast_expression "(Fts3Table *)&nPrefix" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&nPrefix" & identifier))) ;) (expression_statement "iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pFVar26);" (assignment_expression "iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pFVar26)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(pFVar26)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) )) (argument_list "(pFVar26)" ( identifier )))) ;) }) (else_clause "else {\n        iVar4 = 1;\n        nPrefix = (uint)bVar1;\n      }" else (compound_statement "{\n        iVar4 = 1;\n        nPrefix = (uint)bVar1;\n      }" { (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "nPrefix = (uint)bVar1;" (assignment_expression "nPrefix = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) (expression_statement "pbVar24 = (byte *)((int)pFVar26->aStmt + iVar4 + -0x38);" (assignment_expression "pbVar24 = (byte *)((int)pFVar26->aStmt + iVar4 + -0x38)" identifier = (cast_expression "(byte *)((int)pFVar26->aStmt + iVar4 + -0x38)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFVar26->aStmt + iVar4 + -0x38)" ( (binary_expression "(int)pFVar26->aStmt + iVar4 + -0x38" (binary_expression "(int)pFVar26->aStmt + iVar4" (cast_expression "(int)pFVar26->aStmt" ( (type_descriptor "int" primitive_type) ) (field_expression "pFVar26->aStmt" identifier -> field_identifier)) + identifier) + number_literal) )))) ;) (if_statement "if ((char)*pbVar24 < '\0') {\n        pFVar18 = (Fts3Table *)&nSuffix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n      }\n      else {\n        iVar4 = 1;\n        nSuffix = (uint)*pbVar24;\n      }" if (parenthesized_expression "((char)*pbVar24 < '\0')" ( (binary_expression "(char)*pbVar24 < '\0'" (cast_expression "(char)*pbVar24" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar24" * identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pFVar18 = (Fts3Table *)&nSuffix;\n        iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n      }" { (expression_statement "pFVar18 = (Fts3Table *)&nSuffix;" (assignment_expression "pFVar18 = (Fts3Table *)&nSuffix" identifier = (cast_expression "(Fts3Table *)&nSuffix" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&nSuffix" & identifier))) ;) (expression_statement "iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);" (assignment_expression "iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) )) (argument_list "(pbVar24)" ( identifier )))) ;) }) (else_clause "else {\n        iVar4 = 1;\n        nSuffix = (uint)*pbVar24;\n      }" else (compound_statement "{\n        iVar4 = 1;\n        nSuffix = (uint)*pbVar24;\n      }" { (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "nSuffix = (uint)*pbVar24;" (assignment_expression "nSuffix = (uint)*pbVar24" identifier = (binary_expression "(uint)*pbVar24" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }))) (expression_statement "pFVar26 = (Fts3Table *)(pbVar24 + iVar4);" (assignment_expression "pFVar26 = (Fts3Table *)(pbVar24 + iVar4)" identifier = (cast_expression "(Fts3Table *)(pbVar24 + iVar4)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar24 + iVar4)" ( (binary_expression "pbVar24 + iVar4" identifier + identifier) )))) ;) (if_statement "if (0 < nSuffix) {\n        iVar4 = 0x10b;\n        if ((int)(pReader->aNode + (pReader->nNode - (int)pFVar26)) < nSuffix) goto LAB_0011db18;\n        pFVar9 = (Fts3Table *)pReader->nTermAlloc;\n        pFVar18 = (Fts3Table *)(nPrefix >> 0x1f);\n        if (nPrefix <= (int)pFVar9) {\n          in_a3 = (Fts3Table *)(nPrefix + nSuffix);\n          iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38;\n          pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4);\n          if ((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))\n          {\n            uVar10 = (uint)in_a3 >> 0x1f;\n            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);\n            in_a3 = unaff_s4;\n            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);\n            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;\n            pReader->zTerm = pcVar16;\n            pReader->nTermAlloc = (int)unaff_s4;\n          }\n          pFVar18 = pFVar26;\n          iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10);\n          if (iVar4 != 0) goto LAB_0011db18;\n          pFVar18 = pFVar26;\n          (*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix);\n          pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38);\n          pReader->nTerm = nPrefix + nSuffix;\n          uVar10 = (uint)*pbVar24;\n          if ((char)*pbVar24 < '\0') {\n            pFVar18 = (Fts3Table *)&pReader->nDoclist;\n            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n            uVar10 = pReader->nDoclist;\n          }\n          else {\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }\n          pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n          pReader->aDoclist = (char *)pFVar26;\n          pReader->pOffsetList = (char *)0x0;\n          if ((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)) {\n            iVar4 = 0;\n            if (pReader->nPopulate != 0) goto LAB_0011db18;\n            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));\n            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;\n          }\n        }\n      }" if (parenthesized_expression "(0 < nSuffix)" ( (binary_expression "0 < nSuffix" number_literal < identifier) )) (compound_statement "{\n        iVar4 = 0x10b;\n        if ((int)(pReader->aNode + (pReader->nNode - (int)pFVar26)) < nSuffix) goto LAB_0011db18;\n        pFVar9 = (Fts3Table *)pReader->nTermAlloc;\n        pFVar18 = (Fts3Table *)(nPrefix >> 0x1f);\n        if (nPrefix <= (int)pFVar9) {\n          in_a3 = (Fts3Table *)(nPrefix + nSuffix);\n          iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38;\n          pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4);\n          if ((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))\n          {\n            uVar10 = (uint)in_a3 >> 0x1f;\n            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);\n            in_a3 = unaff_s4;\n            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);\n            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;\n            pReader->zTerm = pcVar16;\n            pReader->nTermAlloc = (int)unaff_s4;\n          }\n          pFVar18 = pFVar26;\n          iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10);\n          if (iVar4 != 0) goto LAB_0011db18;\n          pFVar18 = pFVar26;\n          (*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix);\n          pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38);\n          pReader->nTerm = nPrefix + nSuffix;\n          uVar10 = (uint)*pbVar24;\n          if ((char)*pbVar24 < '\0') {\n            pFVar18 = (Fts3Table *)&pReader->nDoclist;\n            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n            uVar10 = pReader->nDoclist;\n          }\n          else {\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }\n          pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n          pReader->aDoclist = (char *)pFVar26;\n          pReader->pOffsetList = (char *)0x0;\n          if ((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)) {\n            iVar4 = 0;\n            if (pReader->nPopulate != 0) goto LAB_0011db18;\n            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));\n            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;\n          }\n        }\n      }" { (expression_statement "iVar4 = 0x10b;" (assignment_expression "iVar4 = 0x10b" identifier = number_literal) ;) (if_statement "if ((int)(pReader->aNode + (pReader->nNode - (int)pFVar26)) < nSuffix) goto LAB_0011db18;" if (parenthesized_expression "((int)(pReader->aNode + (pReader->nNode - (int)pFVar26)) < nSuffix)" ( (binary_expression "(int)(pReader->aNode + (pReader->nNode - (int)pFVar26)) < nSuffix" (cast_expression "(int)(pReader->aNode + (pReader->nNode - (int)pFVar26))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pReader->aNode + (pReader->nNode - (int)pFVar26))" ( (binary_expression "pReader->aNode + (pReader->nNode - (int)pFVar26)" (field_expression "pReader->aNode" identifier -> field_identifier) + (parenthesized_expression "(pReader->nNode - (int)pFVar26)" ( (binary_expression "pReader->nNode - (int)pFVar26" (field_expression "pReader->nNode" identifier -> field_identifier) - (cast_expression "(int)pFVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) < identifier) )) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;)) (expression_statement "pFVar9 = (Fts3Table *)pReader->nTermAlloc;" (assignment_expression "pFVar9 = (Fts3Table *)pReader->nTermAlloc" identifier = (cast_expression "(Fts3Table *)pReader->nTermAlloc" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pReader->nTermAlloc" identifier -> field_identifier))) ;) (expression_statement "pFVar18 = (Fts3Table *)(nPrefix >> 0x1f);" (assignment_expression "pFVar18 = (Fts3Table *)(nPrefix >> 0x1f)" identifier = (cast_expression "(Fts3Table *)(nPrefix >> 0x1f)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(nPrefix >> 0x1f)" ( (binary_expression "nPrefix >> 0x1f" identifier >> number_literal) )))) ;) (if_statement "if (nPrefix <= (int)pFVar9) {\n          in_a3 = (Fts3Table *)(nPrefix + nSuffix);\n          iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38;\n          pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4);\n          if ((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))\n          {\n            uVar10 = (uint)in_a3 >> 0x1f;\n            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);\n            in_a3 = unaff_s4;\n            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);\n            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;\n            pReader->zTerm = pcVar16;\n            pReader->nTermAlloc = (int)unaff_s4;\n          }\n          pFVar18 = pFVar26;\n          iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10);\n          if (iVar4 != 0) goto LAB_0011db18;\n          pFVar18 = pFVar26;\n          (*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix);\n          pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38);\n          pReader->nTerm = nPrefix + nSuffix;\n          uVar10 = (uint)*pbVar24;\n          if ((char)*pbVar24 < '\0') {\n            pFVar18 = (Fts3Table *)&pReader->nDoclist;\n            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n            uVar10 = pReader->nDoclist;\n          }\n          else {\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }\n          pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n          pReader->aDoclist = (char *)pFVar26;\n          pReader->pOffsetList = (char *)0x0;\n          if ((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)) {\n            iVar4 = 0;\n            if (pReader->nPopulate != 0) goto LAB_0011db18;\n            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));\n            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;\n          }\n        }" if (parenthesized_expression "(nPrefix <= (int)pFVar9)" ( (binary_expression "nPrefix <= (int)pFVar9" identifier <= (cast_expression "(int)pFVar9" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          in_a3 = (Fts3Table *)(nPrefix + nSuffix);\n          iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38;\n          pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4);\n          if ((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))\n          {\n            uVar10 = (uint)in_a3 >> 0x1f;\n            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);\n            in_a3 = unaff_s4;\n            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);\n            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;\n            pReader->zTerm = pcVar16;\n            pReader->nTermAlloc = (int)unaff_s4;\n          }\n          pFVar18 = pFVar26;\n          iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10);\n          if (iVar4 != 0) goto LAB_0011db18;\n          pFVar18 = pFVar26;\n          (*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix);\n          pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38);\n          pReader->nTerm = nPrefix + nSuffix;\n          uVar10 = (uint)*pbVar24;\n          if ((char)*pbVar24 < '\0') {\n            pFVar18 = (Fts3Table *)&pReader->nDoclist;\n            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n            uVar10 = pReader->nDoclist;\n          }\n          else {\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }\n          pFVar26 = (Fts3Table *)(pbVar24 + iVar4);\n          pReader->aDoclist = (char *)pFVar26;\n          pReader->pOffsetList = (char *)0x0;\n          if ((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)) {\n            iVar4 = 0;\n            if (pReader->nPopulate != 0) goto LAB_0011db18;\n            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));\n            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;\n          }\n        }" { (expression_statement "in_a3 = (Fts3Table *)(nPrefix + nSuffix);" (assignment_expression "in_a3 = (Fts3Table *)(nPrefix + nSuffix)" identifier = (cast_expression "(Fts3Table *)(nPrefix + nSuffix)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(nPrefix + nSuffix)" ( (binary_expression "nPrefix + nSuffix" identifier + identifier) )))) ;) (expression_statement "iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38;" (assignment_expression "iVar4 = (int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38" identifier = (binary_expression "(int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f) + -0x38" (binary_expression "(int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix) + (nSuffix >> 0x1f)" (binary_expression "(int)pFVar18->aStmt + (uint)(in_a3 < (uint)nPrefix)" (cast_expression "(int)pFVar18->aStmt" ( (type_descriptor "int" primitive_type) ) (field_expression "pFVar18->aStmt" identifier -> field_identifier)) + (call_expression "(uint)(in_a3 < (uint)nPrefix)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_a3 < (uint)nPrefix)" ( (binary_expression "in_a3 < (uint)nPrefix" identifier < (cast_expression "(uint)nPrefix" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) + (parenthesized_expression "(nSuffix >> 0x1f)" ( (binary_expression "nSuffix >> 0x1f" identifier >> number_literal) ))) + number_literal)) ;) (expression_statement "pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4);" (assignment_expression "pFVar18 = (Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4)" identifier = (cast_expression "(Fts3Table *)(uint)((int)pFVar9 >> 0x1f < iVar4)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)pFVar9 >> 0x1f < iVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pFVar9 >> 0x1f < iVar4)" ( (binary_expression "(int)pFVar9 >> 0x1f < iVar4" (binary_expression "(int)pFVar9 >> 0x1f" (cast_expression "(int)pFVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) < identifier) ))))) ;) (if_statement "if ((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))\n          {\n            uVar10 = (uint)in_a3 >> 0x1f;\n            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);\n            in_a3 = unaff_s4;\n            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);\n            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;\n            pReader->zTerm = pcVar16;\n            pReader->nTermAlloc = (int)unaff_s4;\n          }" if (parenthesized_expression "((pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))))" ( (binary_expression "(pFVar18 != (Fts3Table *)0x0) || ((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3)))" (parenthesized_expression "(pFVar18 != (Fts3Table *)0x0)" ( (binary_expression "pFVar18 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3)))" ( (parenthesized_expression "(iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3))" ( (binary_expression "iVar4 == (int)pFVar9 >> 0x1f && (pFVar9 < in_a3)" (binary_expression "iVar4 == (int)pFVar9 >> 0x1f" identifier == (binary_expression "(int)pFVar9 >> 0x1f" (cast_expression "(int)pFVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) && (parenthesized_expression "(pFVar9 < in_a3)" ( (binary_expression "pFVar9 < in_a3" identifier < identifier) ))) )) ))) )) (compound_statement "{\n            uVar10 = (uint)in_a3 >> 0x1f;\n            unaff_s4 = (Fts3Table *)((int)in_a3 * 2);\n            in_a3 = unaff_s4;\n            pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);\n            if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;\n            pReader->zTerm = pcVar16;\n            pReader->nTermAlloc = (int)unaff_s4;\n          }" { (expression_statement "uVar10 = (uint)in_a3 >> 0x1f;" (assignment_expression "uVar10 = (uint)in_a3 >> 0x1f" identifier = (binary_expression "(uint)in_a3 >> 0x1f" (cast_expression "(uint)in_a3" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "unaff_s4 = (Fts3Table *)((int)in_a3 * 2);" (assignment_expression "unaff_s4 = (Fts3Table *)((int)in_a3 * 2)" identifier = (cast_expression "(Fts3Table *)((int)in_a3 * 2)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)in_a3 * 2)" ( (binary_expression "(int)in_a3 * 2" (cast_expression "(int)in_a3" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "in_a3 = unaff_s4;" (assignment_expression "in_a3 = unaff_s4" identifier = identifier) ;) (expression_statement "pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2);" (assignment_expression "pcVar16 = (char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2)" identifier = (cast_expression "(char *)(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_realloc64_0015b764)\n                                        (pReader->zTerm,pFVar18,uVar10 | iVar4 * 2)" (parenthesized_expression "(*(code *)PTR_sqlite3_realloc64_0015b764)" ( (pointer_expression "*(code *)PTR_sqlite3_realloc64_0015b764" * (cast_expression "(code *)PTR_sqlite3_realloc64_0015b764" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pReader->zTerm,pFVar18,uVar10 | iVar4 * 2)" ( (field_expression "pReader->zTerm" identifier -> field_identifier) , identifier , (binary_expression "uVar10 | iVar4 * 2" identifier | (binary_expression "iVar4 * 2" identifier * number_literal)) ))))) ;) (if_statement "if (pcVar16 == (char *)0x0) goto LAB_0011dbc4;" if (parenthesized_expression "(pcVar16 == (char *)0x0)" ( (binary_expression "pcVar16 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011dbc4;" goto statement_identifier ;)) (expression_statement "pReader->zTerm = pcVar16;" (assignment_expression "pReader->zTerm = pcVar16" (field_expression "pReader->zTerm" identifier -> field_identifier) = identifier) ;) (expression_statement "pReader->nTermAlloc = (int)unaff_s4;" (assignment_expression "pReader->nTermAlloc = (int)unaff_s4" (field_expression "pReader->nTermAlloc" identifier -> field_identifier) = (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "pFVar18 = pFVar26;" (assignment_expression "pFVar18 = pFVar26" identifier = identifier) ;) (expression_statement "iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10);" (assignment_expression "iVar4 = (*(code *)p)(pReader,pFVar26,nSuffix + 10)" identifier = (call_expression "(*(code *)p)(pReader,pFVar26,nSuffix + 10)" (parenthesized_expression "(*(code *)p)" ( (pointer_expression "*(code *)p" * (cast_expression "(code *)p" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pReader,pFVar26,nSuffix + 10)" ( identifier , identifier , (binary_expression "nSuffix + 10" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) goto LAB_0011db18;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;)) (expression_statement "pFVar18 = pFVar26;" (assignment_expression "pFVar18 = pFVar26" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix);" (call_expression "(*(code *)PTR_memcpy_0015ba30)(pReader->zTerm + nPrefix,pFVar26,nSuffix)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pReader->zTerm + nPrefix,pFVar26,nSuffix)" ( (binary_expression "pReader->zTerm + nPrefix" (field_expression "pReader->zTerm" identifier -> field_identifier) + identifier) , identifier , identifier ))) ;) (expression_statement "pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38);" (assignment_expression "pbVar24 = (byte *)((int)pFVar26->aStmt + nSuffix + -0x38)" identifier = (cast_expression "(byte *)((int)pFVar26->aStmt + nSuffix + -0x38)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFVar26->aStmt + nSuffix + -0x38)" ( (binary_expression "(int)pFVar26->aStmt + nSuffix + -0x38" (binary_expression "(int)pFVar26->aStmt + nSuffix" (cast_expression "(int)pFVar26->aStmt" ( (type_descriptor "int" primitive_type) ) (field_expression "pFVar26->aStmt" identifier -> field_identifier)) + identifier) + number_literal) )))) ;) (expression_statement "pReader->nTerm = nPrefix + nSuffix;" (assignment_expression "pReader->nTerm = nPrefix + nSuffix" (field_expression "pReader->nTerm" identifier -> field_identifier) = (binary_expression "nPrefix + nSuffix" identifier + identifier)) ;) (expression_statement "uVar10 = (uint)*pbVar24;" (assignment_expression "uVar10 = (uint)*pbVar24" identifier = (binary_expression "(uint)*pbVar24" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)*pbVar24 < '\0') {\n            pFVar18 = (Fts3Table *)&pReader->nDoclist;\n            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n            uVar10 = pReader->nDoclist;\n          }\n          else {\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }" if (parenthesized_expression "((char)*pbVar24 < '\0')" ( (binary_expression "(char)*pbVar24 < '\0'" (cast_expression "(char)*pbVar24" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar24" * identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pFVar18 = (Fts3Table *)&pReader->nDoclist;\n            iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);\n            uVar10 = pReader->nDoclist;\n          }" { (expression_statement "pFVar18 = (Fts3Table *)&pReader->nDoclist;" (assignment_expression "pFVar18 = (Fts3Table *)&pReader->nDoclist" identifier = (cast_expression "(Fts3Table *)&pReader->nDoclist" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pReader->nDoclist" & (field_expression "pReader->nDoclist" identifier -> field_identifier)))) ;) (expression_statement "iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24);" (assignment_expression "iVar4 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(pbVar24)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) )) (argument_list "(pbVar24)" ( identifier )))) ;) (expression_statement "uVar10 = pReader->nDoclist;" (assignment_expression "uVar10 = pReader->nDoclist" identifier = (field_expression "pReader->nDoclist" identifier -> field_identifier)) ;) }) (else_clause "else {\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }" else (compound_statement "{\n            iVar4 = 1;\n            pReader->nDoclist = uVar10;\n          }" { (expression_statement "iVar4 = 1;" (assignment_expression "iVar4 = 1" identifier = number_literal) ;) (expression_statement "pReader->nDoclist = uVar10;" (assignment_expression "pReader->nDoclist = uVar10" (field_expression "pReader->nDoclist" identifier -> field_identifier) = identifier) ;) }))) (expression_statement "pFVar26 = (Fts3Table *)(pbVar24 + iVar4);" (assignment_expression "pFVar26 = (Fts3Table *)(pbVar24 + iVar4)" identifier = (cast_expression "(Fts3Table *)(pbVar24 + iVar4)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar24 + iVar4)" ( (binary_expression "pbVar24 + iVar4" identifier + identifier) )))) ;) (expression_statement "pReader->aDoclist = (char *)pFVar26;" (assignment_expression "pReader->aDoclist = (char *)pFVar26" (field_expression "pReader->aDoclist" identifier -> field_identifier) = (cast_expression "(char *)pFVar26" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pReader->pOffsetList = (char *)0x0;" (assignment_expression "pReader->pOffsetList = (char *)0x0" (field_expression "pReader->pOffsetList" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)) {\n            iVar4 = 0;\n            if (pReader->nPopulate != 0) goto LAB_0011db18;\n            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));\n            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;\n          }" if (parenthesized_expression "((int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode))" ( (binary_expression "(int)uVar10 <= pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "pReader->nNode - ((int)pFVar26 - (int)pReader->aNode)" (field_expression "pReader->nNode" identifier -> field_identifier) - (parenthesized_expression "((int)pFVar26 - (int)pReader->aNode)" ( (binary_expression "(int)pFVar26 - (int)pReader->aNode" (cast_expression "(int)pFVar26" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pReader->aNode" ( (type_descriptor "int" primitive_type) ) (field_expression "pReader->aNode" identifier -> field_identifier))) )))) )) (compound_statement "{\n            iVar4 = 0;\n            if (pReader->nPopulate != 0) goto LAB_0011db18;\n            pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));\n            if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;\n          }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (if_statement "if (pReader->nPopulate != 0) goto LAB_0011db18;" if (parenthesized_expression "(pReader->nPopulate != 0)" ( (binary_expression "pReader->nPopulate != 0" (field_expression "pReader->nPopulate" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;)) (expression_statement "pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38));" (assignment_expression "pFVar26 = (Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38))" identifier = (cast_expression "(Fts3Table *)((int)pFVar26->aStmt + (uVar10 - 0x38))" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFVar26->aStmt + (uVar10 - 0x38))" ( (binary_expression "(int)pFVar26->aStmt + (uVar10 - 0x38)" (cast_expression "(int)pFVar26->aStmt" ( (type_descriptor "int" primitive_type) ) (field_expression "pFVar26->aStmt" identifier -> field_identifier)) + (parenthesized_expression "(uVar10 - 0x38)" ( (binary_expression "uVar10 - 0x38" identifier - number_literal) ))) )))) ;) (if_statement "if ((char)pFVar26[-1].bPrevDelete == '\0') goto LAB_0011da80;" if (parenthesized_expression "((char)pFVar26[-1].bPrevDelete == '\0')" ( (binary_expression "(char)pFVar26[-1].bPrevDelete == '\0'" (cast_expression "(char)pFVar26[-1].bPrevDelete" ( (type_descriptor "char" primitive_type) ) (field_expression "pFVar26[-1].bPrevDelete" (subscript_expression "pFVar26[-1]" identifier [ number_literal ]) . field_identifier)) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0011da80;" goto statement_identifier ;)) })) })) })) (expression_statement "iVar4 = 0x10b;" (assignment_expression "iVar4 = 0x10b" identifier = number_literal) ;) })) }))) (labeled_statement "LAB_0011db18:\n  if (pFStack_1c == *(Fts3Table **)pFVar6) {\n    return iVar4;\n  }" statement_identifier : (if_statement "if (pFStack_1c == *(Fts3Table **)pFVar6) {\n    return iVar4;\n  }" if (parenthesized_expression "(pFStack_1c == *(Fts3Table **)pFVar6)" ( (binary_expression "pFStack_1c == *(Fts3Table **)pFVar6" identifier == (pointer_expression "*(Fts3Table **)pFVar6" * (cast_expression "(Fts3Table **)pFVar6" ( (type_descriptor "Fts3Table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar4;\n  }" { (return_statement "return iVar4;" return identifier ;) }))) (expression_statement "pFVar9 = pFStack_1c;" (assignment_expression "pFVar9 = pFStack_1c" identifier = identifier) ;) (expression_statement "puVar32 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar32 = 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 "puStackY_108 = puVar32 + 0x45928;" (assignment_expression "puStackY_108 = puVar32 + 0x45928" identifier = (binary_expression "puVar32 + 0x45928" identifier + number_literal)) ;) (expression_statement "pFStackY_68 = unaff_s4;" (assignment_expression "pFStackY_68 = unaff_s4" identifier = identifier) ;) (expression_statement "pFStackY_6c = p;" (assignment_expression "pFStackY_6c = p" identifier = identifier) ;) (expression_statement "ppcStackY_70 = (char **)pFVar6;" (assignment_expression "ppcStackY_70 = (char **)pFVar6" identifier = (cast_expression "(char **)pFVar6" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pFStackY_74 = pFVar26;" (assignment_expression "pFStackY_74 = pFVar26" identifier = identifier) ;) (expression_statement "pFStackY_78 = pReader;" (assignment_expression "pFStackY_78 = pReader" identifier = identifier) ;) (expression_statement "piStackY_98 = *(int **)(puVar32 + 0x3dda4);" (assignment_expression "piStackY_98 = *(int **)(puVar32 + 0x3dda4)" identifier = (pointer_expression "*(int **)(puVar32 + 0x3dda4)" * (cast_expression "(int **)(puVar32 + 0x3dda4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + 0x3dda4)" ( (binary_expression "puVar32 + 0x3dda4" identifier + number_literal) ))))) ;) (expression_statement "pFStackY_c8 = pFVar9;" (assignment_expression "pFStackY_c8 = pFVar9" identifier = identifier) ;) (expression_statement "pFStackY_e0 = pFVar18;" (assignment_expression "pFStackY_e0 = pFVar18" identifier = identifier) ;) (expression_statement "psStackY_7c = (sqlite3 *)**(int **)(puVar32 + 0x3dda4);" (assignment_expression "psStackY_7c = (sqlite3 *)**(int **)(puVar32 + 0x3dda4)" identifier = (cast_expression "(sqlite3 *)**(int **)(puVar32 + 0x3dda4)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar32 + 0x3dda4)" * (pointer_expression "*(int **)(puVar32 + 0x3dda4)" * (cast_expression "(int **)(puVar32 + 0x3dda4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + 0x3dda4)" ( (binary_expression "puVar32 + 0x3dda4" identifier + number_literal) ))))))) ;) (expression_statement "pFStackY_a0 = (Fts3Table *)(pFVar18->base).nRef;" (assignment_expression "pFStackY_a0 = (Fts3Table *)(pFVar18->base).nRef" identifier = (cast_expression "(Fts3Table *)(pFVar18->base).nRef" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pFVar18->base).nRef" (parenthesized_expression "(pFVar18->base)" ( (field_expression "pFVar18->base" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pFVar29 = p;" (assignment_expression "pFVar29 = p" identifier = identifier) ;) (if_statement "if (pFVar9->bDescIdx == '\0') {\n    pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar4 = 0;\n    if (pFStackY_a0 != (Fts3Table *)0x0) {\nLAB_0011dd08:\n      psStackY_a4 = pFVar18->db;\n      unaff_s6 = (pFVar18->base).zErrMsg;\n      psStackY_94 = psStackY_a4->mutex;\n      pcStackY_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pFStackY_f0 = (Fts3Table *)(pFVar18->base).pModule;\n      pcStackY_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStackY_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStackY_cc = (uint)psStackY_94 & 1;\n      do {\n        pFVar9 = pFStackY_c8;\n        pFVar18 = pFStackY_e0;\n        pFVar26 = (Fts3Table *)0x0;\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pFVar29 = p;\n        if (0 < (int)unaff_s6) {\n          do {\n            psVar15 = (((Fts3Table *)pReader)->base).pModule;\n            pFVar6 = pFVar18;\n            pFVar29 = pFVar9;\n            if (*(char *)&psVar15->xCreate == '\0') {\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStackY_ac)();\n            }\n            unaff_s6 = (pFVar18->base).zErrMsg;\n            pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);\n            pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;\n          } while ((int)pFVar26 < (int)unaff_s6);\n        }\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pcStackY_c0 = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x2944);\n        in_a3 = (Fts3Table *)(*(int *)(puStackY_108 + -0x7ed8) + -0x7638);\n        (*pcStackY_c0)(pFStackY_f0,pFStackY_a0,unaff_s6);\n        (pFStackY_e0->base).zErrMsg = (char *)0x0;\n        psVar15 = (((Fts3Table *)pReader)->base).pModule;\n        if (psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0) goto LAB_0011de08;\n        pFVar6 = (Fts3Table *)psVar15->xSync;\n        pFStackY_e0->zLanguageid = (char *)pFVar6;\n        pReader = (Fts3SegReader *)((((Fts3Table *)pReader)->base).pModule)->xCommit;\n        pFStackY_e0->zContentTbl = (char *)pReader;\n        if ((psStackY_a4->pVfs != (sqlite3_vfs *)0x0) && (((uint)psStackY_94 & 0x10) == 0)) {\n          iVar4 = 0;\n          if (((int)pFVar6 < (int)psStackY_a4->pVdbe) ||\n             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))))\n          break;\n          iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader);\n          if (iVar4 != 0) {\n            iVar4 = 0;\n            break;\n          }\n        }\n        pFVar18 = pFStackY_a0;\n        if ((((int)pFStackY_a0 < 2) ||\n            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n           (pFVar6 != (Fts3Table *)psVar15->xSync)) {\nLAB_0011df14:\n          p = pFVar29;\n          pFVar18 = pFStackY_e0;\n          psVar15 = (pFStackY_f0->base).pModule;\n          if (((uint)psStackY_94 & 0x22) == 0) {\n            if ((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }\n          }\n          else {\n            iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          }\n          unaff_s6 = (char *)0x1;\n          (*(code *)(iVar4 + 0x605c))();\n        }\n        else {\n          pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg;\n          unaff_s6 = (char *)0x1;\n          while (iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0) {\n            unaff_s6 = unaff_s6 + 1;\n            if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;\n          }\n          pFVar29 = pFVar18;\n          if (unaff_s6 == (char *)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          ppsVar2 = pFStackY_f0->aStmt;\n          pFVar6 = pFStackY_f0;\n          do {\n            psVar3 = &pFVar6->base;\n            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;\n            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);\n          } while ((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6);\n        }\n        pFVar26 = pFStackY_f0;\n        in_a3 = pFStackY_c4;\n        (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s6);\n        if (((pFVar26->base).pModule)->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) {\n          unaff_s8 = (Fts3Table *)&psStackY_8c;\n          unaff_s7 = (Fts3Table *)&psStackY_90;\n          pFStackY_dc = (Fts3Table *)0x0;\n          pFStackY_d8 = (Fts3Table *)0x0;\n          pFVar6 = (Fts3Table *)&pFStackY_c8->bDescIdx;\n          pFStackY_f4 = (Fts3Table *)0x0;\n          pcStackY_fc = (code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168);\n          pcStackY_9c = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220);\n          uStackY_b8 = (uint)psStackY_94 & 4;\n          uStackY_bc = (uint)psStackY_94 & 2;\n          uStackY_b4 = (uint)psStackY_94 & 0x20;\n          pFStackY_d4 = unaff_s7;\n          pFStackY_d0 = unaff_s8;\n          do {\n            p = pFStackY_f0;\n            psStackY_90 = (sqlite3_module *)0x0;\n            psStackY_8c = (sqlite3_module *)0x0;\n            psVar15 = (pFStackY_f0->base).pModule;\n            pFVar26 = (Fts3Table *)psVar15->xRollbackTo;\n            pReader = (Fts3SegReader *)psVar15->xShadowName;\n            in_a3 = pFStackY_d0;\n            (*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);\n            if (unaff_s6 == (char *)0x1) {\n              unaff_s5 = (char *)0x1;\n            }\n            else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }\n            if (uStackY_b8 != 0) {\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }\n            pFVar18 = pFStackY_e0;\n            if ((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }\n            pFStackY_d8 = pFVar11;\n            pFStackY_dc = pFVar9;\n            pReader = (Fts3SegReader *)pFStackY_f0;\n            in_a3 = pFStackY_c4;\n            (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);\n          } while (((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=\n                   (_func_int_sqlite3_vtab_ptr_int *)0x0);\n          if (0 < (int)pFStackY_f4) goto LAB_0011e6ac;\n        }\n        (pFStackY_e0->base).zErrMsg = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pFStackY_a0 != (Fts3Table *)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar4 = 0;\n  }" if (parenthesized_expression "(pFVar9->bDescIdx == '\0')" ( (binary_expression "pFVar9->bDescIdx == '\0'" (field_expression "pFVar9->bDescIdx" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar4 = 0;\n    if (pFStackY_a0 != (Fts3Table *)0x0) {\nLAB_0011dd08:\n      psStackY_a4 = pFVar18->db;\n      unaff_s6 = (pFVar18->base).zErrMsg;\n      psStackY_94 = psStackY_a4->mutex;\n      pcStackY_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pFStackY_f0 = (Fts3Table *)(pFVar18->base).pModule;\n      pcStackY_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStackY_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStackY_cc = (uint)psStackY_94 & 1;\n      do {\n        pFVar9 = pFStackY_c8;\n        pFVar18 = pFStackY_e0;\n        pFVar26 = (Fts3Table *)0x0;\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pFVar29 = p;\n        if (0 < (int)unaff_s6) {\n          do {\n            psVar15 = (((Fts3Table *)pReader)->base).pModule;\n            pFVar6 = pFVar18;\n            pFVar29 = pFVar9;\n            if (*(char *)&psVar15->xCreate == '\0') {\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStackY_ac)();\n            }\n            unaff_s6 = (pFVar18->base).zErrMsg;\n            pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);\n            pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;\n          } while ((int)pFVar26 < (int)unaff_s6);\n        }\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pcStackY_c0 = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x2944);\n        in_a3 = (Fts3Table *)(*(int *)(puStackY_108 + -0x7ed8) + -0x7638);\n        (*pcStackY_c0)(pFStackY_f0,pFStackY_a0,unaff_s6);\n        (pFStackY_e0->base).zErrMsg = (char *)0x0;\n        psVar15 = (((Fts3Table *)pReader)->base).pModule;\n        if (psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0) goto LAB_0011de08;\n        pFVar6 = (Fts3Table *)psVar15->xSync;\n        pFStackY_e0->zLanguageid = (char *)pFVar6;\n        pReader = (Fts3SegReader *)((((Fts3Table *)pReader)->base).pModule)->xCommit;\n        pFStackY_e0->zContentTbl = (char *)pReader;\n        if ((psStackY_a4->pVfs != (sqlite3_vfs *)0x0) && (((uint)psStackY_94 & 0x10) == 0)) {\n          iVar4 = 0;\n          if (((int)pFVar6 < (int)psStackY_a4->pVdbe) ||\n             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))))\n          break;\n          iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader);\n          if (iVar4 != 0) {\n            iVar4 = 0;\n            break;\n          }\n        }\n        pFVar18 = pFStackY_a0;\n        if ((((int)pFStackY_a0 < 2) ||\n            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n           (pFVar6 != (Fts3Table *)psVar15->xSync)) {\nLAB_0011df14:\n          p = pFVar29;\n          pFVar18 = pFStackY_e0;\n          psVar15 = (pFStackY_f0->base).pModule;\n          if (((uint)psStackY_94 & 0x22) == 0) {\n            if ((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }\n          }\n          else {\n            iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          }\n          unaff_s6 = (char *)0x1;\n          (*(code *)(iVar4 + 0x605c))();\n        }\n        else {\n          pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg;\n          unaff_s6 = (char *)0x1;\n          while (iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0) {\n            unaff_s6 = unaff_s6 + 1;\n            if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;\n          }\n          pFVar29 = pFVar18;\n          if (unaff_s6 == (char *)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          ppsVar2 = pFStackY_f0->aStmt;\n          pFVar6 = pFStackY_f0;\n          do {\n            psVar3 = &pFVar6->base;\n            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;\n            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);\n          } while ((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6);\n        }\n        pFVar26 = pFStackY_f0;\n        in_a3 = pFStackY_c4;\n        (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s6);\n        if (((pFVar26->base).pModule)->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) {\n          unaff_s8 = (Fts3Table *)&psStackY_8c;\n          unaff_s7 = (Fts3Table *)&psStackY_90;\n          pFStackY_dc = (Fts3Table *)0x0;\n          pFStackY_d8 = (Fts3Table *)0x0;\n          pFVar6 = (Fts3Table *)&pFStackY_c8->bDescIdx;\n          pFStackY_f4 = (Fts3Table *)0x0;\n          pcStackY_fc = (code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168);\n          pcStackY_9c = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220);\n          uStackY_b8 = (uint)psStackY_94 & 4;\n          uStackY_bc = (uint)psStackY_94 & 2;\n          uStackY_b4 = (uint)psStackY_94 & 0x20;\n          pFStackY_d4 = unaff_s7;\n          pFStackY_d0 = unaff_s8;\n          do {\n            p = pFStackY_f0;\n            psStackY_90 = (sqlite3_module *)0x0;\n            psStackY_8c = (sqlite3_module *)0x0;\n            psVar15 = (pFStackY_f0->base).pModule;\n            pFVar26 = (Fts3Table *)psVar15->xRollbackTo;\n            pReader = (Fts3SegReader *)psVar15->xShadowName;\n            in_a3 = pFStackY_d0;\n            (*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);\n            if (unaff_s6 == (char *)0x1) {\n              unaff_s5 = (char *)0x1;\n            }\n            else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }\n            if (uStackY_b8 != 0) {\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }\n            pFVar18 = pFStackY_e0;\n            if ((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }\n            pFStackY_d8 = pFVar11;\n            pFStackY_dc = pFVar9;\n            pReader = (Fts3SegReader *)pFStackY_f0;\n            in_a3 = pFStackY_c4;\n            (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);\n          } while (((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=\n                   (_func_int_sqlite3_vtab_ptr_int *)0x0);\n          if (0 < (int)pFStackY_f4) goto LAB_0011e6ac;\n        }\n        (pFStackY_e0->base).zErrMsg = unaff_s6;\n      } while( true );\n    }\n  }" { (expression_statement "pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x26f0);" (assignment_expression "pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x26f0)" identifier = (cast_expression "(Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x26f0)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x3da38) + -0x26f0)" ( (binary_expression "*(int *)(puVar32 + 0x3da38) + -0x26f0" (pointer_expression "*(int *)(puVar32 + 0x3da38)" * (cast_expression "(int *)(puVar32 + 0x3da38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3da38)" ( (binary_expression "puVar32 + 0x3da38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (if_statement "if (pFStackY_a0 != (Fts3Table *)0x0) {\nLAB_0011dd08:\n      psStackY_a4 = pFVar18->db;\n      unaff_s6 = (pFVar18->base).zErrMsg;\n      psStackY_94 = psStackY_a4->mutex;\n      pcStackY_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pFStackY_f0 = (Fts3Table *)(pFVar18->base).pModule;\n      pcStackY_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStackY_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStackY_cc = (uint)psStackY_94 & 1;\n      do {\n        pFVar9 = pFStackY_c8;\n        pFVar18 = pFStackY_e0;\n        pFVar26 = (Fts3Table *)0x0;\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pFVar29 = p;\n        if (0 < (int)unaff_s6) {\n          do {\n            psVar15 = (((Fts3Table *)pReader)->base).pModule;\n            pFVar6 = pFVar18;\n            pFVar29 = pFVar9;\n            if (*(char *)&psVar15->xCreate == '\0') {\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStackY_ac)();\n            }\n            unaff_s6 = (pFVar18->base).zErrMsg;\n            pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);\n            pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;\n          } while ((int)pFVar26 < (int)unaff_s6);\n        }\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pcStackY_c0 = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x2944);\n        in_a3 = (Fts3Table *)(*(int *)(puStackY_108 + -0x7ed8) + -0x7638);\n        (*pcStackY_c0)(pFStackY_f0,pFStackY_a0,unaff_s6);\n        (pFStackY_e0->base).zErrMsg = (char *)0x0;\n        psVar15 = (((Fts3Table *)pReader)->base).pModule;\n        if (psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0) goto LAB_0011de08;\n        pFVar6 = (Fts3Table *)psVar15->xSync;\n        pFStackY_e0->zLanguageid = (char *)pFVar6;\n        pReader = (Fts3SegReader *)((((Fts3Table *)pReader)->base).pModule)->xCommit;\n        pFStackY_e0->zContentTbl = (char *)pReader;\n        if ((psStackY_a4->pVfs != (sqlite3_vfs *)0x0) && (((uint)psStackY_94 & 0x10) == 0)) {\n          iVar4 = 0;\n          if (((int)pFVar6 < (int)psStackY_a4->pVdbe) ||\n             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))))\n          break;\n          iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader);\n          if (iVar4 != 0) {\n            iVar4 = 0;\n            break;\n          }\n        }\n        pFVar18 = pFStackY_a0;\n        if ((((int)pFStackY_a0 < 2) ||\n            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n           (pFVar6 != (Fts3Table *)psVar15->xSync)) {\nLAB_0011df14:\n          p = pFVar29;\n          pFVar18 = pFStackY_e0;\n          psVar15 = (pFStackY_f0->base).pModule;\n          if (((uint)psStackY_94 & 0x22) == 0) {\n            if ((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }\n          }\n          else {\n            iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          }\n          unaff_s6 = (char *)0x1;\n          (*(code *)(iVar4 + 0x605c))();\n        }\n        else {\n          pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg;\n          unaff_s6 = (char *)0x1;\n          while (iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0) {\n            unaff_s6 = unaff_s6 + 1;\n            if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;\n          }\n          pFVar29 = pFVar18;\n          if (unaff_s6 == (char *)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          ppsVar2 = pFStackY_f0->aStmt;\n          pFVar6 = pFStackY_f0;\n          do {\n            psVar3 = &pFVar6->base;\n            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;\n            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);\n          } while ((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6);\n        }\n        pFVar26 = pFStackY_f0;\n        in_a3 = pFStackY_c4;\n        (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s6);\n        if (((pFVar26->base).pModule)->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) {\n          unaff_s8 = (Fts3Table *)&psStackY_8c;\n          unaff_s7 = (Fts3Table *)&psStackY_90;\n          pFStackY_dc = (Fts3Table *)0x0;\n          pFStackY_d8 = (Fts3Table *)0x0;\n          pFVar6 = (Fts3Table *)&pFStackY_c8->bDescIdx;\n          pFStackY_f4 = (Fts3Table *)0x0;\n          pcStackY_fc = (code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168);\n          pcStackY_9c = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220);\n          uStackY_b8 = (uint)psStackY_94 & 4;\n          uStackY_bc = (uint)psStackY_94 & 2;\n          uStackY_b4 = (uint)psStackY_94 & 0x20;\n          pFStackY_d4 = unaff_s7;\n          pFStackY_d0 = unaff_s8;\n          do {\n            p = pFStackY_f0;\n            psStackY_90 = (sqlite3_module *)0x0;\n            psStackY_8c = (sqlite3_module *)0x0;\n            psVar15 = (pFStackY_f0->base).pModule;\n            pFVar26 = (Fts3Table *)psVar15->xRollbackTo;\n            pReader = (Fts3SegReader *)psVar15->xShadowName;\n            in_a3 = pFStackY_d0;\n            (*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);\n            if (unaff_s6 == (char *)0x1) {\n              unaff_s5 = (char *)0x1;\n            }\n            else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }\n            if (uStackY_b8 != 0) {\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }\n            pFVar18 = pFStackY_e0;\n            if ((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }\n            pFStackY_d8 = pFVar11;\n            pFStackY_dc = pFVar9;\n            pReader = (Fts3SegReader *)pFStackY_f0;\n            in_a3 = pFStackY_c4;\n            (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);\n          } while (((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=\n                   (_func_int_sqlite3_vtab_ptr_int *)0x0);\n          if (0 < (int)pFStackY_f4) goto LAB_0011e6ac;\n        }\n        (pFStackY_e0->base).zErrMsg = unaff_s6;\n      } while( true );\n    }" if (parenthesized_expression "(pFStackY_a0 != (Fts3Table *)0x0)" ( (binary_expression "pFStackY_a0 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0011dd08:\n      psStackY_a4 = pFVar18->db;\n      unaff_s6 = (pFVar18->base).zErrMsg;\n      psStackY_94 = psStackY_a4->mutex;\n      pcStackY_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pFStackY_f0 = (Fts3Table *)(pFVar18->base).pModule;\n      pcStackY_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStackY_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStackY_cc = (uint)psStackY_94 & 1;\n      do {\n        pFVar9 = pFStackY_c8;\n        pFVar18 = pFStackY_e0;\n        pFVar26 = (Fts3Table *)0x0;\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pFVar29 = p;\n        if (0 < (int)unaff_s6) {\n          do {\n            psVar15 = (((Fts3Table *)pReader)->base).pModule;\n            pFVar6 = pFVar18;\n            pFVar29 = pFVar9;\n            if (*(char *)&psVar15->xCreate == '\0') {\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStackY_ac)();\n            }\n            unaff_s6 = (pFVar18->base).zErrMsg;\n            pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);\n            pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;\n          } while ((int)pFVar26 < (int)unaff_s6);\n        }\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pcStackY_c0 = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x2944);\n        in_a3 = (Fts3Table *)(*(int *)(puStackY_108 + -0x7ed8) + -0x7638);\n        (*pcStackY_c0)(pFStackY_f0,pFStackY_a0,unaff_s6);\n        (pFStackY_e0->base).zErrMsg = (char *)0x0;\n        psVar15 = (((Fts3Table *)pReader)->base).pModule;\n        if (psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0) goto LAB_0011de08;\n        pFVar6 = (Fts3Table *)psVar15->xSync;\n        pFStackY_e0->zLanguageid = (char *)pFVar6;\n        pReader = (Fts3SegReader *)((((Fts3Table *)pReader)->base).pModule)->xCommit;\n        pFStackY_e0->zContentTbl = (char *)pReader;\n        if ((psStackY_a4->pVfs != (sqlite3_vfs *)0x0) && (((uint)psStackY_94 & 0x10) == 0)) {\n          iVar4 = 0;\n          if (((int)pFVar6 < (int)psStackY_a4->pVdbe) ||\n             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))))\n          break;\n          iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader);\n          if (iVar4 != 0) {\n            iVar4 = 0;\n            break;\n          }\n        }\n        pFVar18 = pFStackY_a0;\n        if ((((int)pFStackY_a0 < 2) ||\n            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n           (pFVar6 != (Fts3Table *)psVar15->xSync)) {\nLAB_0011df14:\n          p = pFVar29;\n          pFVar18 = pFStackY_e0;\n          psVar15 = (pFStackY_f0->base).pModule;\n          if (((uint)psStackY_94 & 0x22) == 0) {\n            if ((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }\n          }\n          else {\n            iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          }\n          unaff_s6 = (char *)0x1;\n          (*(code *)(iVar4 + 0x605c))();\n        }\n        else {\n          pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg;\n          unaff_s6 = (char *)0x1;\n          while (iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0) {\n            unaff_s6 = unaff_s6 + 1;\n            if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;\n          }\n          pFVar29 = pFVar18;\n          if (unaff_s6 == (char *)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          ppsVar2 = pFStackY_f0->aStmt;\n          pFVar6 = pFStackY_f0;\n          do {\n            psVar3 = &pFVar6->base;\n            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;\n            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);\n          } while ((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6);\n        }\n        pFVar26 = pFStackY_f0;\n        in_a3 = pFStackY_c4;\n        (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s6);\n        if (((pFVar26->base).pModule)->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) {\n          unaff_s8 = (Fts3Table *)&psStackY_8c;\n          unaff_s7 = (Fts3Table *)&psStackY_90;\n          pFStackY_dc = (Fts3Table *)0x0;\n          pFStackY_d8 = (Fts3Table *)0x0;\n          pFVar6 = (Fts3Table *)&pFStackY_c8->bDescIdx;\n          pFStackY_f4 = (Fts3Table *)0x0;\n          pcStackY_fc = (code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168);\n          pcStackY_9c = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220);\n          uStackY_b8 = (uint)psStackY_94 & 4;\n          uStackY_bc = (uint)psStackY_94 & 2;\n          uStackY_b4 = (uint)psStackY_94 & 0x20;\n          pFStackY_d4 = unaff_s7;\n          pFStackY_d0 = unaff_s8;\n          do {\n            p = pFStackY_f0;\n            psStackY_90 = (sqlite3_module *)0x0;\n            psStackY_8c = (sqlite3_module *)0x0;\n            psVar15 = (pFStackY_f0->base).pModule;\n            pFVar26 = (Fts3Table *)psVar15->xRollbackTo;\n            pReader = (Fts3SegReader *)psVar15->xShadowName;\n            in_a3 = pFStackY_d0;\n            (*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);\n            if (unaff_s6 == (char *)0x1) {\n              unaff_s5 = (char *)0x1;\n            }\n            else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }\n            if (uStackY_b8 != 0) {\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }\n            pFVar18 = pFStackY_e0;\n            if ((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }\n            pFStackY_d8 = pFVar11;\n            pFStackY_dc = pFVar9;\n            pReader = (Fts3SegReader *)pFStackY_f0;\n            in_a3 = pFStackY_c4;\n            (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);\n          } while (((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=\n                   (_func_int_sqlite3_vtab_ptr_int *)0x0);\n          if (0 < (int)pFStackY_f4) goto LAB_0011e6ac;\n        }\n        (pFStackY_e0->base).zErrMsg = unaff_s6;\n      } while( true );\n    }" { (labeled_statement "LAB_0011dd08:\n      psStackY_a4 = pFVar18->db;" statement_identifier : (expression_statement "psStackY_a4 = pFVar18->db;" (assignment_expression "psStackY_a4 = pFVar18->db" identifier = (field_expression "pFVar18->db" identifier -> field_identifier)) ;)) (expression_statement "unaff_s6 = (pFVar18->base).zErrMsg;" (assignment_expression "unaff_s6 = (pFVar18->base).zErrMsg" identifier = (field_expression "(pFVar18->base).zErrMsg" (parenthesized_expression "(pFVar18->base)" ( (field_expression "pFVar18->base" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "psStackY_94 = psStackY_a4->mutex;" (assignment_expression "psStackY_94 = psStackY_a4->mutex" identifier = (field_expression "psStackY_a4->mutex" identifier -> field_identifier)) ;) (expression_statement "pcStackY_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);" (assignment_expression "pcStackY_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758)" identifier = (cast_expression "(code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x3da4c) + -0x2758)" ( (binary_expression "*(int *)(puVar32 + 0x3da4c) + -0x2758" (pointer_expression "*(int *)(puVar32 + 0x3da4c)" * (cast_expression "(int *)(puVar32 + 0x3da4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3da4c)" ( (binary_expression "puVar32 + 0x3da4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pFStackY_f0 = (Fts3Table *)(pFVar18->base).pModule;" (assignment_expression "pFStackY_f0 = (Fts3Table *)(pFVar18->base).pModule" identifier = (cast_expression "(Fts3Table *)(pFVar18->base).pModule" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pFVar18->base).pModule" (parenthesized_expression "(pFVar18->base)" ( (field_expression "pFVar18->base" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pcStackY_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);" (assignment_expression "pcStackY_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384)" identifier = (cast_expression "(code *)(*(int *)(puVar32 + 0x3da70) + 0x5384)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x3da70) + 0x5384)" ( (binary_expression "*(int *)(puVar32 + 0x3da70) + 0x5384" (pointer_expression "*(int *)(puVar32 + 0x3da70)" * (cast_expression "(int *)(puVar32 + 0x3da70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3da70)" ( (binary_expression "puVar32 + 0x3da70" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStackY_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);" (assignment_expression "pcStackY_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74)" identifier = (cast_expression "(code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x3d9d4) + 0xf74)" ( (binary_expression "*(int *)(puVar32 + 0x3d9d4) + 0xf74" (pointer_expression "*(int *)(puVar32 + 0x3d9d4)" * (cast_expression "(int *)(puVar32 + 0x3d9d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3d9d4)" ( (binary_expression "puVar32 + 0x3d9d4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uStackY_cc = (uint)psStackY_94 & 1;" (assignment_expression "uStackY_cc = (uint)psStackY_94 & 1" identifier = (binary_expression "(uint)psStackY_94 & 1" (cast_expression "(uint)psStackY_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (do_statement "do {\n        pFVar9 = pFStackY_c8;\n        pFVar18 = pFStackY_e0;\n        pFVar26 = (Fts3Table *)0x0;\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pFVar29 = p;\n        if (0 < (int)unaff_s6) {\n          do {\n            psVar15 = (((Fts3Table *)pReader)->base).pModule;\n            pFVar6 = pFVar18;\n            pFVar29 = pFVar9;\n            if (*(char *)&psVar15->xCreate == '\0') {\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStackY_ac)();\n            }\n            unaff_s6 = (pFVar18->base).zErrMsg;\n            pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);\n            pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;\n          } while ((int)pFVar26 < (int)unaff_s6);\n        }\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pcStackY_c0 = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x2944);\n        in_a3 = (Fts3Table *)(*(int *)(puStackY_108 + -0x7ed8) + -0x7638);\n        (*pcStackY_c0)(pFStackY_f0,pFStackY_a0,unaff_s6);\n        (pFStackY_e0->base).zErrMsg = (char *)0x0;\n        psVar15 = (((Fts3Table *)pReader)->base).pModule;\n        if (psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0) goto LAB_0011de08;\n        pFVar6 = (Fts3Table *)psVar15->xSync;\n        pFStackY_e0->zLanguageid = (char *)pFVar6;\n        pReader = (Fts3SegReader *)((((Fts3Table *)pReader)->base).pModule)->xCommit;\n        pFStackY_e0->zContentTbl = (char *)pReader;\n        if ((psStackY_a4->pVfs != (sqlite3_vfs *)0x0) && (((uint)psStackY_94 & 0x10) == 0)) {\n          iVar4 = 0;\n          if (((int)pFVar6 < (int)psStackY_a4->pVdbe) ||\n             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))))\n          break;\n          iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader);\n          if (iVar4 != 0) {\n            iVar4 = 0;\n            break;\n          }\n        }\n        pFVar18 = pFStackY_a0;\n        if ((((int)pFStackY_a0 < 2) ||\n            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n           (pFVar6 != (Fts3Table *)psVar15->xSync)) {\nLAB_0011df14:\n          p = pFVar29;\n          pFVar18 = pFStackY_e0;\n          psVar15 = (pFStackY_f0->base).pModule;\n          if (((uint)psStackY_94 & 0x22) == 0) {\n            if ((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }\n          }\n          else {\n            iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          }\n          unaff_s6 = (char *)0x1;\n          (*(code *)(iVar4 + 0x605c))();\n        }\n        else {\n          pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg;\n          unaff_s6 = (char *)0x1;\n          while (iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0) {\n            unaff_s6 = unaff_s6 + 1;\n            if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;\n          }\n          pFVar29 = pFVar18;\n          if (unaff_s6 == (char *)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          ppsVar2 = pFStackY_f0->aStmt;\n          pFVar6 = pFStackY_f0;\n          do {\n            psVar3 = &pFVar6->base;\n            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;\n            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);\n          } while ((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6);\n        }\n        pFVar26 = pFStackY_f0;\n        in_a3 = pFStackY_c4;\n        (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s6);\n        if (((pFVar26->base).pModule)->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) {\n          unaff_s8 = (Fts3Table *)&psStackY_8c;\n          unaff_s7 = (Fts3Table *)&psStackY_90;\n          pFStackY_dc = (Fts3Table *)0x0;\n          pFStackY_d8 = (Fts3Table *)0x0;\n          pFVar6 = (Fts3Table *)&pFStackY_c8->bDescIdx;\n          pFStackY_f4 = (Fts3Table *)0x0;\n          pcStackY_fc = (code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168);\n          pcStackY_9c = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220);\n          uStackY_b8 = (uint)psStackY_94 & 4;\n          uStackY_bc = (uint)psStackY_94 & 2;\n          uStackY_b4 = (uint)psStackY_94 & 0x20;\n          pFStackY_d4 = unaff_s7;\n          pFStackY_d0 = unaff_s8;\n          do {\n            p = pFStackY_f0;\n            psStackY_90 = (sqlite3_module *)0x0;\n            psStackY_8c = (sqlite3_module *)0x0;\n            psVar15 = (pFStackY_f0->base).pModule;\n            pFVar26 = (Fts3Table *)psVar15->xRollbackTo;\n            pReader = (Fts3SegReader *)psVar15->xShadowName;\n            in_a3 = pFStackY_d0;\n            (*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);\n            if (unaff_s6 == (char *)0x1) {\n              unaff_s5 = (char *)0x1;\n            }\n            else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }\n            if (uStackY_b8 != 0) {\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }\n            pFVar18 = pFStackY_e0;\n            if ((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }\n            pFStackY_d8 = pFVar11;\n            pFStackY_dc = pFVar9;\n            pReader = (Fts3SegReader *)pFStackY_f0;\n            in_a3 = pFStackY_c4;\n            (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);\n          } while (((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=\n                   (_func_int_sqlite3_vtab_ptr_int *)0x0);\n          if (0 < (int)pFStackY_f4) goto LAB_0011e6ac;\n        }\n        (pFStackY_e0->base).zErrMsg = unaff_s6;\n      } while( true );" do (compound_statement "{\n        pFVar9 = pFStackY_c8;\n        pFVar18 = pFStackY_e0;\n        pFVar26 = (Fts3Table *)0x0;\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pFVar29 = p;\n        if (0 < (int)unaff_s6) {\n          do {\n            psVar15 = (((Fts3Table *)pReader)->base).pModule;\n            pFVar6 = pFVar18;\n            pFVar29 = pFVar9;\n            if (*(char *)&psVar15->xCreate == '\0') {\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStackY_ac)();\n            }\n            unaff_s6 = (pFVar18->base).zErrMsg;\n            pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);\n            pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;\n          } while ((int)pFVar26 < (int)unaff_s6);\n        }\n        pReader = (Fts3SegReader *)pFStackY_f0;\n        pcStackY_c0 = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x2944);\n        in_a3 = (Fts3Table *)(*(int *)(puStackY_108 + -0x7ed8) + -0x7638);\n        (*pcStackY_c0)(pFStackY_f0,pFStackY_a0,unaff_s6);\n        (pFStackY_e0->base).zErrMsg = (char *)0x0;\n        psVar15 = (((Fts3Table *)pReader)->base).pModule;\n        if (psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0) goto LAB_0011de08;\n        pFVar6 = (Fts3Table *)psVar15->xSync;\n        pFStackY_e0->zLanguageid = (char *)pFVar6;\n        pReader = (Fts3SegReader *)((((Fts3Table *)pReader)->base).pModule)->xCommit;\n        pFStackY_e0->zContentTbl = (char *)pReader;\n        if ((psStackY_a4->pVfs != (sqlite3_vfs *)0x0) && (((uint)psStackY_94 & 0x10) == 0)) {\n          iVar4 = 0;\n          if (((int)pFVar6 < (int)psStackY_a4->pVdbe) ||\n             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))))\n          break;\n          iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader);\n          if (iVar4 != 0) {\n            iVar4 = 0;\n            break;\n          }\n        }\n        pFVar18 = pFStackY_a0;\n        if ((((int)pFStackY_a0 < 2) ||\n            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n           (pFVar6 != (Fts3Table *)psVar15->xSync)) {\nLAB_0011df14:\n          p = pFVar29;\n          pFVar18 = pFStackY_e0;\n          psVar15 = (pFStackY_f0->base).pModule;\n          if (((uint)psStackY_94 & 0x22) == 0) {\n            if ((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }\n          }\n          else {\n            iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          }\n          unaff_s6 = (char *)0x1;\n          (*(code *)(iVar4 + 0x605c))();\n        }\n        else {\n          pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg;\n          unaff_s6 = (char *)0x1;\n          while (iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0) {\n            unaff_s6 = unaff_s6 + 1;\n            if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;\n          }\n          pFVar29 = pFVar18;\n          if (unaff_s6 == (char *)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          ppsVar2 = pFStackY_f0->aStmt;\n          pFVar6 = pFStackY_f0;\n          do {\n            psVar3 = &pFVar6->base;\n            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;\n            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);\n          } while ((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6);\n        }\n        pFVar26 = pFStackY_f0;\n        in_a3 = pFStackY_c4;\n        (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s6);\n        if (((pFVar26->base).pModule)->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) {\n          unaff_s8 = (Fts3Table *)&psStackY_8c;\n          unaff_s7 = (Fts3Table *)&psStackY_90;\n          pFStackY_dc = (Fts3Table *)0x0;\n          pFStackY_d8 = (Fts3Table *)0x0;\n          pFVar6 = (Fts3Table *)&pFStackY_c8->bDescIdx;\n          pFStackY_f4 = (Fts3Table *)0x0;\n          pcStackY_fc = (code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168);\n          pcStackY_9c = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220);\n          uStackY_b8 = (uint)psStackY_94 & 4;\n          uStackY_bc = (uint)psStackY_94 & 2;\n          uStackY_b4 = (uint)psStackY_94 & 0x20;\n          pFStackY_d4 = unaff_s7;\n          pFStackY_d0 = unaff_s8;\n          do {\n            p = pFStackY_f0;\n            psStackY_90 = (sqlite3_module *)0x0;\n            psStackY_8c = (sqlite3_module *)0x0;\n            psVar15 = (pFStackY_f0->base).pModule;\n            pFVar26 = (Fts3Table *)psVar15->xRollbackTo;\n            pReader = (Fts3SegReader *)psVar15->xShadowName;\n            in_a3 = pFStackY_d0;\n            (*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);\n            if (unaff_s6 == (char *)0x1) {\n              unaff_s5 = (char *)0x1;\n            }\n            else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }\n            if (uStackY_b8 != 0) {\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }\n            pFVar18 = pFStackY_e0;\n            if ((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }\n            pFStackY_d8 = pFVar11;\n            pFStackY_dc = pFVar9;\n            pReader = (Fts3SegReader *)pFStackY_f0;\n            in_a3 = pFStackY_c4;\n            (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);\n          } while (((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=\n                   (_func_int_sqlite3_vtab_ptr_int *)0x0);\n          if (0 < (int)pFStackY_f4) goto LAB_0011e6ac;\n        }\n        (pFStackY_e0->base).zErrMsg = unaff_s6;\n      }" { (expression_statement "pFVar9 = pFStackY_c8;" (assignment_expression "pFVar9 = pFStackY_c8" identifier = identifier) ;) (expression_statement "pFVar18 = pFStackY_e0;" (assignment_expression "pFVar18 = pFStackY_e0" identifier = identifier) ;) (expression_statement "pFVar26 = (Fts3Table *)0x0;" (assignment_expression "pFVar26 = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pReader = (Fts3SegReader *)pFStackY_f0;" (assignment_expression "pReader = (Fts3SegReader *)pFStackY_f0" identifier = (cast_expression "(Fts3SegReader *)pFStackY_f0" ( (type_descriptor "Fts3SegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pFVar29 = p;" (assignment_expression "pFVar29 = p" identifier = identifier) ;) (if_statement "if (0 < (int)unaff_s6) {\n          do {\n            psVar15 = (((Fts3Table *)pReader)->base).pModule;\n            pFVar6 = pFVar18;\n            pFVar29 = pFVar9;\n            if (*(char *)&psVar15->xCreate == '\0') {\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStackY_ac)();\n            }\n            unaff_s6 = (pFVar18->base).zErrMsg;\n            pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);\n            pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;\n          } while ((int)pFVar26 < (int)unaff_s6);\n        }" if (parenthesized_expression "(0 < (int)unaff_s6)" ( (binary_expression "0 < (int)unaff_s6" number_literal < (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          do {\n            psVar15 = (((Fts3Table *)pReader)->base).pModule;\n            pFVar6 = pFVar18;\n            pFVar29 = pFVar9;\n            if (*(char *)&psVar15->xCreate == '\0') {\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStackY_ac)();\n            }\n            unaff_s6 = (pFVar18->base).zErrMsg;\n            pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);\n            pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;\n          } while ((int)pFVar26 < (int)unaff_s6);\n        }" { (do_statement "do {\n            psVar15 = (((Fts3Table *)pReader)->base).pModule;\n            pFVar6 = pFVar18;\n            pFVar29 = pFVar9;\n            if (*(char *)&psVar15->xCreate == '\0') {\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStackY_ac)();\n            }\n            unaff_s6 = (pFVar18->base).zErrMsg;\n            pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);\n            pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;\n          } while ((int)pFVar26 < (int)unaff_s6);" do (compound_statement "{\n            psVar15 = (((Fts3Table *)pReader)->base).pModule;\n            pFVar6 = pFVar18;\n            pFVar29 = pFVar9;\n            if (*(char *)&psVar15->xCreate == '\0') {\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStackY_ac)();\n            }\n            unaff_s6 = (pFVar18->base).zErrMsg;\n            pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);\n            pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;\n          }" { (expression_statement "psVar15 = (((Fts3Table *)pReader)->base).pModule;" (assignment_expression "psVar15 = (((Fts3Table *)pReader)->base).pModule" identifier = (field_expression "(((Fts3Table *)pReader)->base).pModule" (parenthesized_expression "(((Fts3Table *)pReader)->base)" ( (field_expression "((Fts3Table *)pReader)->base" (parenthesized_expression "((Fts3Table *)pReader)" ( (cast_expression "(Fts3Table *)pReader" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )) . field_identifier)) ;) (expression_statement "pFVar6 = pFVar18;" (assignment_expression "pFVar6 = pFVar18" identifier = identifier) ;) (expression_statement "pFVar29 = pFVar9;" (assignment_expression "pFVar29 = pFVar9" identifier = identifier) ;) (if_statement "if (*(char *)&psVar15->xCreate == '\0') {\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStackY_ac)();\n            }" if (parenthesized_expression "(*(char *)&psVar15->xCreate == '\0')" ( (binary_expression "*(char *)&psVar15->xCreate == '\0'" (pointer_expression "*(char *)&psVar15->xCreate" * (cast_expression "(char *)&psVar15->xCreate" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar15->xCreate" & (field_expression "psVar15->xCreate" identifier -> field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar4 = (*pcStackY_b0)(pFVar9,psVar15);\n              if (iVar4 != 0) goto LAB_0011ddb4;\n            }" { (expression_statement "iVar4 = (*pcStackY_b0)(pFVar9,psVar15);" (assignment_expression "iVar4 = (*pcStackY_b0)(pFVar9,psVar15)" identifier = (call_expression "(*pcStackY_b0)(pFVar9,psVar15)" (parenthesized_expression "(*pcStackY_b0)" ( (pointer_expression "*pcStackY_b0" * identifier) )) (argument_list "(pFVar9,psVar15)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 != 0) goto LAB_0011ddb4;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;)) }) (else_clause "else {\n              (*pcStackY_ac)();\n            }" else (compound_statement "{\n              (*pcStackY_ac)();\n            }" { (expression_statement "(*pcStackY_ac)();" (call_expression "(*pcStackY_ac)()" (parenthesized_expression "(*pcStackY_ac)" ( (pointer_expression "*pcStackY_ac" * identifier) )) (argument_list "()" ( ))) ;) }))) (expression_statement "unaff_s6 = (pFVar18->base).zErrMsg;" (assignment_expression "unaff_s6 = (pFVar18->base).zErrMsg" identifier = (field_expression "(pFVar18->base).zErrMsg" (parenthesized_expression "(pFVar18->base)" ( (field_expression "pFVar18->base" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1);" (assignment_expression "pFVar26 = (Fts3Table *)((int)&(pFVar26->base).pModule + 1)" identifier = (cast_expression "(Fts3Table *)((int)&(pFVar26->base).pModule + 1)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pFVar26->base).pModule + 1)" ( (binary_expression "(int)&(pFVar26->base).pModule + 1" (cast_expression "(int)&(pFVar26->base).pModule" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pFVar26->base).pModule" & (field_expression "(pFVar26->base).pModule" (parenthesized_expression "(pFVar26->base)" ( (field_expression "pFVar26->base" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) ;) (expression_statement "pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef;" (assignment_expression "pReader = (Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef" identifier = (cast_expression "(Fts3SegReader *)&(((Fts3Table *)pReader)->base).nRef" ( (type_descriptor "Fts3SegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(((Fts3Table *)pReader)->base).nRef" & (field_expression "(((Fts3Table *)pReader)->base).nRef" (parenthesized_expression "(((Fts3Table *)pReader)->base)" ( (field_expression "((Fts3Table *)pReader)->base" (parenthesized_expression "((Fts3Table *)pReader)" ( (cast_expression "(Fts3Table *)pReader" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )) . field_identifier)))) ;) }) while (parenthesized_expression "((int)pFVar26 < (int)unaff_s6)" ( (binary_expression "(int)pFVar26 < (int)unaff_s6" (cast_expression "(int)pFVar26" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "pReader = (Fts3SegReader *)pFStackY_f0;" (assignment_expression "pReader = (Fts3SegReader *)pFStackY_f0" identifier = (cast_expression "(Fts3SegReader *)pFStackY_f0" ( (type_descriptor "Fts3SegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcStackY_c0 = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x2944);" (assignment_expression "pcStackY_c0 = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x2944)" identifier = (cast_expression "(code *)(*(int *)(puStackY_108 + -0x7f54) + 0x2944)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStackY_108 + -0x7f54) + 0x2944)" ( (binary_expression "*(int *)(puStackY_108 + -0x7f54) + 0x2944" (pointer_expression "*(int *)(puStackY_108 + -0x7f54)" * (cast_expression "(int *)(puStackY_108 + -0x7f54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStackY_108 + -0x7f54)" ( (binary_expression "puStackY_108 + -0x7f54" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "in_a3 = (Fts3Table *)(*(int *)(puStackY_108 + -0x7ed8) + -0x7638);" (assignment_expression "in_a3 = (Fts3Table *)(*(int *)(puStackY_108 + -0x7ed8) + -0x7638)" identifier = (cast_expression "(Fts3Table *)(*(int *)(puStackY_108 + -0x7ed8) + -0x7638)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStackY_108 + -0x7ed8) + -0x7638)" ( (binary_expression "*(int *)(puStackY_108 + -0x7ed8) + -0x7638" (pointer_expression "*(int *)(puStackY_108 + -0x7ed8)" * (cast_expression "(int *)(puStackY_108 + -0x7ed8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStackY_108 + -0x7ed8)" ( (binary_expression "puStackY_108 + -0x7ed8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcStackY_c0)(pFStackY_f0,pFStackY_a0,unaff_s6);" (call_expression "(*pcStackY_c0)(pFStackY_f0,pFStackY_a0,unaff_s6)" (parenthesized_expression "(*pcStackY_c0)" ( (pointer_expression "*pcStackY_c0" * identifier) )) (argument_list "(pFStackY_f0,pFStackY_a0,unaff_s6)" ( identifier , identifier , identifier ))) ;) (expression_statement "(pFStackY_e0->base).zErrMsg = (char *)0x0;" (assignment_expression "(pFStackY_e0->base).zErrMsg = (char *)0x0" (field_expression "(pFStackY_e0->base).zErrMsg" (parenthesized_expression "(pFStackY_e0->base)" ( (field_expression "pFStackY_e0->base" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar15 = (((Fts3Table *)pReader)->base).pModule;" (assignment_expression "psVar15 = (((Fts3Table *)pReader)->base).pModule" identifier = (field_expression "(((Fts3Table *)pReader)->base).pModule" (parenthesized_expression "(((Fts3Table *)pReader)->base)" ( (field_expression "((Fts3Table *)pReader)->base" (parenthesized_expression "((Fts3Table *)pReader)" ( (cast_expression "(Fts3Table *)pReader" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )) . field_identifier)) ;) (if_statement "if (psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0) goto LAB_0011de08;" if (parenthesized_expression "(psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)" ( (binary_expression "psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0" (field_expression "psVar15->xEof" identifier -> field_identifier) == (cast_expression "(_func_int_sqlite3_vtab_cursor_ptr *)0x0" ( (type_descriptor "_func_int_sqlite3_vtab_cursor_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011de08;" goto statement_identifier ;)) (expression_statement "pFVar6 = (Fts3Table *)psVar15->xSync;" (assignment_expression "pFVar6 = (Fts3Table *)psVar15->xSync" identifier = (cast_expression "(Fts3Table *)psVar15->xSync" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar15->xSync" identifier -> field_identifier))) ;) (expression_statement "pFStackY_e0->zLanguageid = (char *)pFVar6;" (assignment_expression "pFStackY_e0->zLanguageid = (char *)pFVar6" (field_expression "pFStackY_e0->zLanguageid" identifier -> field_identifier) = (cast_expression "(char *)pFVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pReader = (Fts3SegReader *)((((Fts3Table *)pReader)->base).pModule)->xCommit;" (assignment_expression "pReader = (Fts3SegReader *)((((Fts3Table *)pReader)->base).pModule)->xCommit" identifier = (cast_expression "(Fts3SegReader *)((((Fts3Table *)pReader)->base).pModule)->xCommit" ( (type_descriptor "Fts3SegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((((Fts3Table *)pReader)->base).pModule)->xCommit" (parenthesized_expression "((((Fts3Table *)pReader)->base).pModule)" ( (field_expression "(((Fts3Table *)pReader)->base).pModule" (parenthesized_expression "(((Fts3Table *)pReader)->base)" ( (field_expression "((Fts3Table *)pReader)->base" (parenthesized_expression "((Fts3Table *)pReader)" ( (cast_expression "(Fts3Table *)pReader" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )) . field_identifier) )) -> field_identifier))) ;) (expression_statement "pFStackY_e0->zContentTbl = (char *)pReader;" (assignment_expression "pFStackY_e0->zContentTbl = (char *)pReader" (field_expression "pFStackY_e0->zContentTbl" identifier -> field_identifier) = (cast_expression "(char *)pReader" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((psStackY_a4->pVfs != (sqlite3_vfs *)0x0) && (((uint)psStackY_94 & 0x10) == 0)) {\n          iVar4 = 0;\n          if (((int)pFVar6 < (int)psStackY_a4->pVdbe) ||\n             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))))\n          break;\n          iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader);\n          if (iVar4 != 0) {\n            iVar4 = 0;\n            break;\n          }\n        }" if (parenthesized_expression "((psStackY_a4->pVfs != (sqlite3_vfs *)0x0) && (((uint)psStackY_94 & 0x10) == 0))" ( (binary_expression "(psStackY_a4->pVfs != (sqlite3_vfs *)0x0) && (((uint)psStackY_94 & 0x10) == 0)" (parenthesized_expression "(psStackY_a4->pVfs != (sqlite3_vfs *)0x0)" ( (binary_expression "psStackY_a4->pVfs != (sqlite3_vfs *)0x0" (field_expression "psStackY_a4->pVfs" identifier -> field_identifier) != (cast_expression "(sqlite3_vfs *)0x0" ( (type_descriptor "sqlite3_vfs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(((uint)psStackY_94 & 0x10) == 0)" ( (binary_expression "((uint)psStackY_94 & 0x10) == 0" (parenthesized_expression "((uint)psStackY_94 & 0x10)" ( (binary_expression "(uint)psStackY_94 & 0x10" (cast_expression "(uint)psStackY_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          iVar4 = 0;\n          if (((int)pFVar6 < (int)psStackY_a4->pVdbe) ||\n             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))))\n          break;\n          iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader);\n          if (iVar4 != 0) {\n            iVar4 = 0;\n            break;\n          }\n        }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (if_statement "if (((int)pFVar6 < (int)psStackY_a4->pVdbe) ||\n             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))))\n          break;" if (parenthesized_expression "(((int)pFVar6 < (int)psStackY_a4->pVdbe) ||\n             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))))" ( (binary_expression "((int)pFVar6 < (int)psStackY_a4->pVdbe) ||\n             ((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6)))" (parenthesized_expression "((int)pFVar6 < (int)psStackY_a4->pVdbe)" ( (binary_expression "(int)pFVar6 < (int)psStackY_a4->pVdbe" (cast_expression "(int)pFVar6" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)psStackY_a4->pVdbe" ( (type_descriptor "int" primitive_type) ) (field_expression "psStackY_a4->pVdbe" identifier -> field_identifier))) )) || (parenthesized_expression "((((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6)))" ( (parenthesized_expression "(((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6))" ( (binary_expression "((uint)psStackY_94 & 8) == 0 && (iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6)" (binary_expression "((uint)psStackY_94 & 8) == 0" (parenthesized_expression "((uint)psStackY_94 & 8)" ( (binary_expression "(uint)psStackY_94 & 8" (cast_expression "(uint)psStackY_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) && (parenthesized_expression "(iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6)" ( (comma_expression "iVar4 = 0, (int)psStackY_a4->pVdbe < (int)pFVar6" (assignment_expression "iVar4 = 0" identifier = number_literal) , (binary_expression "(int)psStackY_a4->pVdbe < (int)pFVar6" (cast_expression "(int)psStackY_a4->pVdbe" ( (type_descriptor "int" primitive_type) ) (field_expression "psStackY_a4->pVdbe" identifier -> field_identifier)) < (cast_expression "(int)pFVar6" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader);" (assignment_expression "iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader)" identifier = (call_expression "(**(code **)(puStackY_108 + -0x7b94))(pReader)" (parenthesized_expression "(**(code **)(puStackY_108 + -0x7b94))" ( (pointer_expression "**(code **)(puStackY_108 + -0x7b94)" * (pointer_expression "*(code **)(puStackY_108 + -0x7b94)" * (cast_expression "(code **)(puStackY_108 + -0x7b94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStackY_108 + -0x7b94)" ( (binary_expression "puStackY_108 + -0x7b94" identifier + number_literal) ))))) )) (argument_list "(pReader)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) {\n            iVar4 = 0;\n            break;\n          }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar4 = 0;\n            break;\n          }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (break_statement "break;" break ;) })) })) (expression_statement "pFVar18 = pFStackY_a0;" (assignment_expression "pFVar18 = pFStackY_a0" identifier = identifier) ;) (if_statement "if ((((int)pFStackY_a0 < 2) ||\n            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n           (pFVar6 != (Fts3Table *)psVar15->xSync)) {\nLAB_0011df14:\n          p = pFVar29;\n          pFVar18 = pFStackY_e0;\n          psVar15 = (pFStackY_f0->base).pModule;\n          if (((uint)psStackY_94 & 0x22) == 0) {\n            if ((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }\n          }\n          else {\n            iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          }\n          unaff_s6 = (char *)0x1;\n          (*(code *)(iVar4 + 0x605c))();\n        }\n        else {\n          pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg;\n          unaff_s6 = (char *)0x1;\n          while (iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0) {\n            unaff_s6 = unaff_s6 + 1;\n            if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;\n          }\n          pFVar29 = pFVar18;\n          if (unaff_s6 == (char *)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          ppsVar2 = pFStackY_f0->aStmt;\n          pFVar6 = pFStackY_f0;\n          do {\n            psVar3 = &pFVar6->base;\n            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;\n            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);\n          } while ((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6);\n        }" if (parenthesized_expression "((((int)pFStackY_a0 < 2) ||\n            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n           (pFVar6 != (Fts3Table *)psVar15->xSync))" ( (binary_expression "(((int)pFStackY_a0 < 2) ||\n            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n           (pFVar6 != (Fts3Table *)psVar15->xSync)" (parenthesized_expression "(((int)pFStackY_a0 < 2) ||\n            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0))" ( (binary_expression "((int)pFStackY_a0 < 2) ||\n            (psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)" (parenthesized_expression "((int)pFStackY_a0 < 2)" ( (binary_expression "(int)pFStackY_a0 < 2" (cast_expression "(int)pFStackY_a0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)" ( (comma_expression "psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef,\n            psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0" (assignment_expression "psVar15 = (sqlite3_module *)(pFStackY_f0->base).nRef" identifier = (cast_expression "(sqlite3_module *)(pFStackY_f0->base).nRef" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pFStackY_f0->base).nRef" (parenthesized_expression "(pFStackY_f0->base)" ( (field_expression "pFStackY_f0->base" identifier -> field_identifier) )) . field_identifier))) , (binary_expression "psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0" (field_expression "psVar15->xEof" identifier -> field_identifier) == (cast_expression "(_func_int_sqlite3_vtab_cursor_ptr *)0x0" ( (type_descriptor "_func_int_sqlite3_vtab_cursor_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) || (parenthesized_expression "(pFVar6 != (Fts3Table *)psVar15->xSync)" ( (binary_expression "pFVar6 != (Fts3Table *)psVar15->xSync" identifier != (cast_expression "(Fts3Table *)psVar15->xSync" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar15->xSync" identifier -> field_identifier))) ))) )) (compound_statement "{\nLAB_0011df14:\n          p = pFVar29;\n          pFVar18 = pFStackY_e0;\n          psVar15 = (pFStackY_f0->base).pModule;\n          if (((uint)psStackY_94 & 0x22) == 0) {\n            if ((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }\n          }\n          else {\n            iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          }\n          unaff_s6 = (char *)0x1;\n          (*(code *)(iVar4 + 0x605c))();\n        }" { (labeled_statement "LAB_0011df14:\n          p = pFVar29;" statement_identifier : (expression_statement "p = pFVar29;" (assignment_expression "p = pFVar29" identifier = identifier) ;)) (expression_statement "pFVar18 = pFStackY_e0;" (assignment_expression "pFVar18 = pFStackY_e0" identifier = identifier) ;) (expression_statement "psVar15 = (pFStackY_f0->base).pModule;" (assignment_expression "psVar15 = (pFStackY_f0->base).pModule" identifier = (field_expression "(pFStackY_f0->base).pModule" (parenthesized_expression "(pFStackY_f0->base)" ( (field_expression "pFStackY_f0->base" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (((uint)psStackY_94 & 0x22) == 0) {\n            if ((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }\n          }\n          else {\n            iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          }" if (parenthesized_expression "(((uint)psStackY_94 & 0x22) == 0)" ( (binary_expression "((uint)psStackY_94 & 0x22) == 0" (parenthesized_expression "((uint)psStackY_94 & 0x22)" ( (binary_expression "(uint)psStackY_94 & 0x22" (cast_expression "(uint)psStackY_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            if ((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }\n          }" { (if_statement "if ((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)) {\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }" if (parenthesized_expression "((pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0))" ( (binary_expression "(pFStackY_c8->bDescIdx == '\0') ||\n               (iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)" (parenthesized_expression "(pFStackY_c8->bDescIdx == '\0')" ( (binary_expression "pFStackY_c8->bDescIdx == '\0'" (field_expression "pFStackY_c8->bDescIdx" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)" ( (comma_expression "iVar4 = *(int *)(puStackY_108 + -0x7eb8),\n               psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0" (assignment_expression "iVar4 = *(int *)(puStackY_108 + -0x7eb8)" identifier = (pointer_expression "*(int *)(puStackY_108 + -0x7eb8)" * (cast_expression "(int *)(puStackY_108 + -0x7eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStackY_108 + -0x7eb8)" ( (binary_expression "puStackY_108 + -0x7eb8" identifier + number_literal) ))))) , (binary_expression "psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0" (field_expression "psVar15->xBegin" identifier -> field_identifier) == (cast_expression "(_func_int_sqlite3_vtab_ptr *)0x0" ( (type_descriptor "_func_int_sqlite3_vtab_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n              pReader = (Fts3SegReader *)psVar15->xRename;\n              pFStackY_e0->nLeafAdd = (u32)pReader;\n              psVar15 = (pFStackY_f0->base).pModule;\n              pFVar6 = pFVar18;\n              pFVar29 = p;\n              if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }\n              iVar4 = 100;\n              (pFStackY_e0->base).zErrMsg = (char *)0x1;\n              break;\n            }" { (expression_statement "pReader = (Fts3SegReader *)psVar15->xRename;" (assignment_expression "pReader = (Fts3SegReader *)psVar15->xRename" identifier = (cast_expression "(Fts3SegReader *)psVar15->xRename" ( (type_descriptor "Fts3SegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar15->xRename" identifier -> field_identifier))) ;) (expression_statement "pFStackY_e0->nLeafAdd = (u32)pReader;" (assignment_expression "pFStackY_e0->nLeafAdd = (u32)pReader" (field_expression "pFStackY_e0->nLeafAdd" identifier -> field_identifier) = (cast_expression "(u32)pReader" ( (type_descriptor "u32" type_identifier) ) identifier)) ;) (expression_statement "psVar15 = (pFStackY_f0->base).pModule;" (assignment_expression "psVar15 = (pFStackY_f0->base).pModule" identifier = (field_expression "(pFStackY_f0->base).pModule" (parenthesized_expression "(pFStackY_f0->base)" ( (field_expression "pFStackY_f0->base" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pFVar6 = pFVar18;" (assignment_expression "pFVar6 = pFVar18" identifier = identifier) ;) (expression_statement "pFVar29 = p;" (assignment_expression "pFVar29 = p" identifier = identifier) ;) (if_statement "if (psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0) {\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }\n              else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }" if (parenthesized_expression "(psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0)" ( (binary_expression "psVar15->xBegin == (_func_int_sqlite3_vtab_ptr *)0x0" (field_expression "psVar15->xBegin" identifier -> field_identifier) == (cast_expression "(_func_int_sqlite3_vtab_ptr *)0x0" ( (type_descriptor "_func_int_sqlite3_vtab_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;\n              }" { (expression_statement "pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction;" (assignment_expression "pFStackY_e0->nAutoincrmerge = (int)psVar15->xFindFunction" (field_expression "pFStackY_e0->nAutoincrmerge" identifier -> field_identifier) = (cast_expression "(int)psVar15->xFindFunction" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar15->xFindFunction" identifier -> field_identifier))) ;) }) (else_clause "else {\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }" else (compound_statement "{\n                pFVar26 = (Fts3Table *)psVar15->xFindFunction;\n                pcVar16 = pFStackY_e0->zDb;\n                if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }\n                (**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);\n                pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;\n              }" { (expression_statement "pFVar26 = (Fts3Table *)psVar15->xFindFunction;" (assignment_expression "pFVar26 = (Fts3Table *)psVar15->xFindFunction" identifier = (cast_expression "(Fts3Table *)psVar15->xFindFunction" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar15->xFindFunction" identifier -> field_identifier))) ;) (expression_statement "pcVar16 = pFStackY_e0->zDb;" (assignment_expression "pcVar16 = pFStackY_e0->zDb" identifier = (field_expression "pFStackY_e0->zDb" identifier -> field_identifier)) ;) (if_statement "if ((int)pFStackY_e0->zName < (int)pReader) {\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }" if (parenthesized_expression "((int)pFStackY_e0->zName < (int)pReader)" ( (binary_expression "(int)pFStackY_e0->zName < (int)pReader" (cast_expression "(int)pFStackY_e0->zName" ( (type_descriptor "int" primitive_type) ) (field_expression "pFStackY_e0->zName" identifier -> field_identifier)) < (cast_expression "(int)pReader" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                  pFStackY_e0->zName = (char *)((int)pReader << 1);\n                  pcVar16 = (char *)(*pcVar33)(pcVar16);\n                  if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }\n                  pFVar18->zDb = pcVar16;\n                }" { (expression_statement "pcVar33 = *(code **)(puStackY_108 + -0x7fc0);" (assignment_expression "pcVar33 = *(code **)(puStackY_108 + -0x7fc0)" identifier = (pointer_expression "*(code **)(puStackY_108 + -0x7fc0)" * (cast_expression "(code **)(puStackY_108 + -0x7fc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStackY_108 + -0x7fc0)" ( (binary_expression "puStackY_108 + -0x7fc0" identifier + number_literal) ))))) ;) (expression_statement "pFStackY_e0->zName = (char *)((int)pReader << 1);" (assignment_expression "pFStackY_e0->zName = (char *)((int)pReader << 1)" (field_expression "pFStackY_e0->zName" identifier -> field_identifier) = (cast_expression "(char *)((int)pReader << 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pReader << 1)" ( (binary_expression "(int)pReader << 1" (cast_expression "(int)pReader" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "pcVar16 = (char *)(*pcVar33)(pcVar16);" (assignment_expression "pcVar16 = (char *)(*pcVar33)(pcVar16)" identifier = (cast_expression "(char *)(*pcVar33)(pcVar16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar33)(pcVar16)" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "(pcVar16)" ( identifier ))))) ;) (if_statement "if (pcVar16 == (char *)0x0) {\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }" if (parenthesized_expression "(pcVar16 == (char *)0x0)" ( (binary_expression "pcVar16 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    iVar4 = 7;\n                    pcVar16 = pFStackY_e0->zDb;\n                    (pFStackY_e0->base).zErrMsg = (char *)0x1;\n                    pFStackY_e0->nAutoincrmerge = (int)pcVar16;\n                    break;\n                  }" { (expression_statement "iVar4 = 7;" (assignment_expression "iVar4 = 7" identifier = number_literal) ;) (expression_statement "pcVar16 = pFStackY_e0->zDb;" (assignment_expression "pcVar16 = pFStackY_e0->zDb" identifier = (field_expression "pFStackY_e0->zDb" identifier -> field_identifier)) ;) (expression_statement "(pFStackY_e0->base).zErrMsg = (char *)0x1;" (assignment_expression "(pFStackY_e0->base).zErrMsg = (char *)0x1" (field_expression "(pFStackY_e0->base).zErrMsg" (parenthesized_expression "(pFStackY_e0->base)" ( (field_expression "pFStackY_e0->base" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFStackY_e0->nAutoincrmerge = (int)pcVar16;" (assignment_expression "pFStackY_e0->nAutoincrmerge = (int)pcVar16" (field_expression "pFStackY_e0->nAutoincrmerge" identifier -> field_identifier) = (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (break_statement "break;" break ;) })) (expression_statement "pFVar18->zDb = pcVar16;" (assignment_expression "pFVar18->zDb = pcVar16" (field_expression "pFVar18->zDb" identifier -> field_identifier) = identifier) ;) })) (expression_statement "(**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader);" (call_expression "(**(code **)(puStackY_108 + -0x7b80))(pcVar16,pFVar26,pReader)" (parenthesized_expression "(**(code **)(puStackY_108 + -0x7b80))" ( (pointer_expression "**(code **)(puStackY_108 + -0x7b80)" * (pointer_expression "*(code **)(puStackY_108 + -0x7b80)" * (cast_expression "(code **)(puStackY_108 + -0x7b80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStackY_108 + -0x7b80)" ( (binary_expression "puStackY_108 + -0x7b80" identifier + number_literal) ))))) )) (argument_list "(pcVar16,pFVar26,pReader)" ( identifier , identifier , identifier ))) ;) (expression_statement "pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb;" (assignment_expression "pFStackY_e0->nAutoincrmerge = (int)pFStackY_e0->zDb" (field_expression "pFStackY_e0->nAutoincrmerge" identifier -> field_identifier) = (cast_expression "(int)pFStackY_e0->zDb" ( (type_descriptor "int" primitive_type) ) (field_expression "pFStackY_e0->zDb" identifier -> field_identifier))) ;) }))) (expression_statement "iVar4 = 100;" (assignment_expression "iVar4 = 100" identifier = number_literal) ;) (expression_statement "(pFStackY_e0->base).zErrMsg = (char *)0x1;" (assignment_expression "(pFStackY_e0->base).zErrMsg = (char *)0x1" (field_expression "(pFStackY_e0->base).zErrMsg" (parenthesized_expression "(pFStackY_e0->base)" ( (field_expression "pFStackY_e0->base" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (break_statement "break;" break ;) })) }) (else_clause "else {\n            iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          }" else (compound_statement "{\n            iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          }" { (expression_statement "iVar4 = *(int *)(puStackY_108 + -0x7eb8);" (assignment_expression "iVar4 = *(int *)(puStackY_108 + -0x7eb8)" identifier = (pointer_expression "*(int *)(puStackY_108 + -0x7eb8)" * (cast_expression "(int *)(puStackY_108 + -0x7eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStackY_108 + -0x7eb8)" ( (binary_expression "puStackY_108 + -0x7eb8" identifier + number_literal) ))))) ;) }))) (expression_statement "unaff_s6 = (char *)0x1;" (assignment_expression "unaff_s6 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)(iVar4 + 0x605c))();" (call_expression "(*(code *)(iVar4 + 0x605c))()" (parenthesized_expression "(*(code *)(iVar4 + 0x605c))" ( (pointer_expression "*(code *)(iVar4 + 0x605c)" * (cast_expression "(code *)(iVar4 + 0x605c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x605c)" ( (binary_expression "iVar4 + 0x605c" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n          pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg;\n          unaff_s6 = (char *)0x1;\n          while (iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0) {\n            unaff_s6 = unaff_s6 + 1;\n            if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;\n          }\n          pFVar29 = pFVar18;\n          if (unaff_s6 == (char *)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          ppsVar2 = pFStackY_f0->aStmt;\n          pFVar6 = pFStackY_f0;\n          do {\n            psVar3 = &pFVar6->base;\n            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;\n            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);\n          } while ((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6);\n        }" else (compound_statement "{\n          pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg;\n          unaff_s6 = (char *)0x1;\n          while (iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0) {\n            unaff_s6 = unaff_s6 + 1;\n            if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;\n          }\n          pFVar29 = pFVar18;\n          if (unaff_s6 == (char *)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar4 = *(int *)(puStackY_108 + -0x7eb8);\n          ppsVar2 = pFStackY_f0->aStmt;\n          pFVar6 = pFStackY_f0;\n          do {\n            psVar3 = &pFVar6->base;\n            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;\n            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);\n          } while ((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6);\n        }" { (expression_statement "pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg;" (assignment_expression "pFVar26 = (Fts3Table *)&(pFStackY_f0->base).zErrMsg" identifier = (cast_expression "(Fts3Table *)&(pFStackY_f0->base).zErrMsg" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pFStackY_f0->base).zErrMsg" & (field_expression "(pFStackY_f0->base).zErrMsg" (parenthesized_expression "(pFStackY_f0->base)" ( (field_expression "pFStackY_f0->base" identifier -> field_identifier) )) . field_identifier)))) ;) (expression_statement "unaff_s6 = (char *)0x1;" (assignment_expression "unaff_s6 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (while_statement "while (iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0) {\n            unaff_s6 = unaff_s6 + 1;\n            if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;\n          }" while (parenthesized_expression "(iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0)" ( (comma_expression "iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6),\n                p = pFStackY_c8, iVar4 == 0" (assignment_expression "iVar4 = (**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6)" identifier = (call_expression "(**(code **)(puStackY_108 + -0x7b94))(pReader,psVar15->xCommit,pFVar6)" (parenthesized_expression "(**(code **)(puStackY_108 + -0x7b94))" ( (pointer_expression "**(code **)(puStackY_108 + -0x7b94)" * (pointer_expression "*(code **)(puStackY_108 + -0x7b94)" * (cast_expression "(code **)(puStackY_108 + -0x7b94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStackY_108 + -0x7b94)" ( (binary_expression "puStackY_108 + -0x7b94" identifier + number_literal) ))))) )) (argument_list "(pReader,psVar15->xCommit,pFVar6)" ( identifier , (field_expression "psVar15->xCommit" identifier -> field_identifier) , identifier )))) , (comma_expression "p = pFStackY_c8, iVar4 == 0" (assignment_expression "p = pFStackY_c8" identifier = identifier) , (binary_expression "iVar4 == 0" identifier == number_literal))) )) (compound_statement "{\n            unaff_s6 = unaff_s6 + 1;\n            if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;\n          }" { (expression_statement "unaff_s6 = unaff_s6 + 1;" (assignment_expression "unaff_s6 = unaff_s6 + 1" identifier = (binary_expression "unaff_s6 + 1" identifier + number_literal)) ;) (if_statement "if ((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               ) goto LAB_0011e64c;" if (parenthesized_expression "((((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)\n               )" ( (binary_expression "(((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)) ||\n               (pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)" (parenthesized_expression "(((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0))" ( (binary_expression "((int)pFVar18 <= (int)unaff_s6) ||\n                (psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)" (parenthesized_expression "((int)pFVar18 <= (int)unaff_s6)" ( (binary_expression "(int)pFVar18 <= (int)unaff_s6" (cast_expression "(int)pFVar18" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0)" ( (comma_expression "psVar15 = (pFVar26->base).pModule,\n                psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0" (assignment_expression "psVar15 = (pFVar26->base).pModule" identifier = (field_expression "(pFVar26->base).pModule" (parenthesized_expression "(pFVar26->base)" ( (field_expression "pFVar26->base" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "psVar15->xEof == (_func_int_sqlite3_vtab_cursor_ptr *)0x0" (field_expression "psVar15->xEof" identifier -> field_identifier) == (cast_expression "(_func_int_sqlite3_vtab_cursor_ptr *)0x0" ( (type_descriptor "_func_int_sqlite3_vtab_cursor_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) || (parenthesized_expression "(pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync)" ( (comma_expression "pFVar26 = (Fts3Table *)&(pFVar26->base).nRef, pFVar6 != (Fts3Table *)psVar15->xSync" (assignment_expression "pFVar26 = (Fts3Table *)&(pFVar26->base).nRef" identifier = (cast_expression "(Fts3Table *)&(pFVar26->base).nRef" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pFVar26->base).nRef" & (field_expression "(pFVar26->base).nRef" (parenthesized_expression "(pFVar26->base)" ( (field_expression "pFVar26->base" identifier -> field_identifier) )) . field_identifier)))) , (binary_expression "pFVar6 != (Fts3Table *)psVar15->xSync" identifier != (cast_expression "(Fts3Table *)psVar15->xSync" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar15->xSync" identifier -> field_identifier)))) ))) )) (goto_statement "goto LAB_0011e64c;" goto statement_identifier ;)) })) (expression_statement "pFVar29 = pFVar18;" (assignment_expression "pFVar29 = pFVar18" identifier = identifier) ;) (if_statement "if (unaff_s6 == (char *)0x1) goto LAB_0011df14;" if (parenthesized_expression "(unaff_s6 == (char *)0x1)" ( (binary_expression "unaff_s6 == (char *)0x1" identifier == (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011df14;" goto statement_identifier ;)) (labeled_statement "LAB_0011e64c:\n          iVar4 = *(int *)(puStackY_108 + -0x7eb8);" statement_identifier : (expression_statement "iVar4 = *(int *)(puStackY_108 + -0x7eb8);" (assignment_expression "iVar4 = *(int *)(puStackY_108 + -0x7eb8)" identifier = (pointer_expression "*(int *)(puStackY_108 + -0x7eb8)" * (cast_expression "(int *)(puStackY_108 + -0x7eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStackY_108 + -0x7eb8)" ( (binary_expression "puStackY_108 + -0x7eb8" identifier + number_literal) ))))) ;)) (expression_statement "ppsVar2 = pFStackY_f0->aStmt;" (assignment_expression "ppsVar2 = pFStackY_f0->aStmt" identifier = (field_expression "pFStackY_f0->aStmt" identifier -> field_identifier)) ;) (expression_statement "pFVar6 = pFStackY_f0;" (assignment_expression "pFVar6 = pFStackY_f0" identifier = identifier) ;) (do_statement "do {\n            psVar3 = &pFVar6->base;\n            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;\n            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);\n          } while ((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6);" do (compound_statement "{\n            psVar3 = &pFVar6->base;\n            pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;\n            (*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);\n          }" { (expression_statement "psVar3 = &pFVar6->base;" (assignment_expression "psVar3 = &pFVar6->base" identifier = (pointer_expression "&pFVar6->base" & (field_expression "pFVar6->base" identifier -> field_identifier))) ;) (expression_statement "pFVar6 = (Fts3Table *)&(pFVar6->base).nRef;" (assignment_expression "pFVar6 = (Fts3Table *)&(pFVar6->base).nRef" identifier = (cast_expression "(Fts3Table *)&(pFVar6->base).nRef" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pFVar6->base).nRef" & (field_expression "(pFVar6->base).nRef" (parenthesized_expression "(pFVar6->base)" ( (field_expression "pFVar6->base" identifier -> field_identifier) )) . field_identifier)))) ;) (expression_statement "(*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule);" (call_expression "(*(code *)(iVar4 + 0x605c))(p->bDescIdx,psVar3->pModule)" (parenthesized_expression "(*(code *)(iVar4 + 0x605c))" ( (pointer_expression "*(code *)(iVar4 + 0x605c)" * (cast_expression "(code *)(iVar4 + 0x605c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x605c)" ( (binary_expression "iVar4 + 0x605c" identifier + number_literal) )))) )) (argument_list "(p->bDescIdx,psVar3->pModule)" ( (field_expression "p->bDescIdx" identifier -> field_identifier) , (field_expression "psVar3->pModule" identifier -> field_identifier) ))) ;) }) while (parenthesized_expression "((Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6)" ( (binary_expression "(Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe)) != pFVar6" (cast_expression "(Fts3Table *)(ppsVar2 + (int)(unaff_s6 + -0xe))" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppsVar2 + (int)(unaff_s6 + -0xe))" ( (binary_expression "ppsVar2 + (int)(unaff_s6 + -0xe)" identifier + (cast_expression "(int)(unaff_s6 + -0xe)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s6 + -0xe)" ( (binary_expression "unaff_s6 + -0xe" identifier + number_literal) )))) ))) != identifier) )) ;) }))) (expression_statement "pFVar26 = pFStackY_f0;" (assignment_expression "pFVar26 = pFStackY_f0" identifier = identifier) ;) (expression_statement "in_a3 = pFStackY_c4;" (assignment_expression "in_a3 = pFStackY_c4" identifier = identifier) ;) (expression_statement "(*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s6);" (call_expression "(*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s6)" (parenthesized_expression "(*pcStackY_c0)" ( (pointer_expression "*pcStackY_c0" * identifier) )) (argument_list "(pFStackY_f0,unaff_s6,unaff_s6)" ( identifier , identifier , identifier ))) ;) (if_statement "if (((pFVar26->base).pModule)->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) {\n          unaff_s8 = (Fts3Table *)&psStackY_8c;\n          unaff_s7 = (Fts3Table *)&psStackY_90;\n          pFStackY_dc = (Fts3Table *)0x0;\n          pFStackY_d8 = (Fts3Table *)0x0;\n          pFVar6 = (Fts3Table *)&pFStackY_c8->bDescIdx;\n          pFStackY_f4 = (Fts3Table *)0x0;\n          pcStackY_fc = (code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168);\n          pcStackY_9c = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220);\n          uStackY_b8 = (uint)psStackY_94 & 4;\n          uStackY_bc = (uint)psStackY_94 & 2;\n          uStackY_b4 = (uint)psStackY_94 & 0x20;\n          pFStackY_d4 = unaff_s7;\n          pFStackY_d0 = unaff_s8;\n          do {\n            p = pFStackY_f0;\n            psStackY_90 = (sqlite3_module *)0x0;\n            psStackY_8c = (sqlite3_module *)0x0;\n            psVar15 = (pFStackY_f0->base).pModule;\n            pFVar26 = (Fts3Table *)psVar15->xRollbackTo;\n            pReader = (Fts3SegReader *)psVar15->xShadowName;\n            in_a3 = pFStackY_d0;\n            (*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);\n            if (unaff_s6 == (char *)0x1) {\n              unaff_s5 = (char *)0x1;\n            }\n            else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }\n            if (uStackY_b8 != 0) {\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }\n            pFVar18 = pFStackY_e0;\n            if ((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }\n            pFStackY_d8 = pFVar11;\n            pFStackY_dc = pFVar9;\n            pReader = (Fts3SegReader *)pFStackY_f0;\n            in_a3 = pFStackY_c4;\n            (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);\n          } while (((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=\n                   (_func_int_sqlite3_vtab_ptr_int *)0x0);\n          if (0 < (int)pFStackY_f4) goto LAB_0011e6ac;\n        }" if (parenthesized_expression "(((pFVar26->base).pModule)->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0)" ( (binary_expression "((pFVar26->base).pModule)->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0" (field_expression "((pFVar26->base).pModule)->xSavepoint" (parenthesized_expression "((pFVar26->base).pModule)" ( (field_expression "(pFVar26->base).pModule" (parenthesized_expression "(pFVar26->base)" ( (field_expression "pFVar26->base" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) != (cast_expression "(_func_int_sqlite3_vtab_ptr_int *)0x0" ( (type_descriptor "_func_int_sqlite3_vtab_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          unaff_s8 = (Fts3Table *)&psStackY_8c;\n          unaff_s7 = (Fts3Table *)&psStackY_90;\n          pFStackY_dc = (Fts3Table *)0x0;\n          pFStackY_d8 = (Fts3Table *)0x0;\n          pFVar6 = (Fts3Table *)&pFStackY_c8->bDescIdx;\n          pFStackY_f4 = (Fts3Table *)0x0;\n          pcStackY_fc = (code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168);\n          pcStackY_9c = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220);\n          uStackY_b8 = (uint)psStackY_94 & 4;\n          uStackY_bc = (uint)psStackY_94 & 2;\n          uStackY_b4 = (uint)psStackY_94 & 0x20;\n          pFStackY_d4 = unaff_s7;\n          pFStackY_d0 = unaff_s8;\n          do {\n            p = pFStackY_f0;\n            psStackY_90 = (sqlite3_module *)0x0;\n            psStackY_8c = (sqlite3_module *)0x0;\n            psVar15 = (pFStackY_f0->base).pModule;\n            pFVar26 = (Fts3Table *)psVar15->xRollbackTo;\n            pReader = (Fts3SegReader *)psVar15->xShadowName;\n            in_a3 = pFStackY_d0;\n            (*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);\n            if (unaff_s6 == (char *)0x1) {\n              unaff_s5 = (char *)0x1;\n            }\n            else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }\n            if (uStackY_b8 != 0) {\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }\n            pFVar18 = pFStackY_e0;\n            if ((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }\n            pFStackY_d8 = pFVar11;\n            pFStackY_dc = pFVar9;\n            pReader = (Fts3SegReader *)pFStackY_f0;\n            in_a3 = pFStackY_c4;\n            (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);\n          } while (((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=\n                   (_func_int_sqlite3_vtab_ptr_int *)0x0);\n          if (0 < (int)pFStackY_f4) goto LAB_0011e6ac;\n        }" { (expression_statement "unaff_s8 = (Fts3Table *)&psStackY_8c;" (assignment_expression "unaff_s8 = (Fts3Table *)&psStackY_8c" identifier = (cast_expression "(Fts3Table *)&psStackY_8c" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStackY_8c" & identifier))) ;) (expression_statement "unaff_s7 = (Fts3Table *)&psStackY_90;" (assignment_expression "unaff_s7 = (Fts3Table *)&psStackY_90" identifier = (cast_expression "(Fts3Table *)&psStackY_90" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStackY_90" & identifier))) ;) (expression_statement "pFStackY_dc = (Fts3Table *)0x0;" (assignment_expression "pFStackY_dc = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFStackY_d8 = (Fts3Table *)0x0;" (assignment_expression "pFStackY_d8 = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFVar6 = (Fts3Table *)&pFStackY_c8->bDescIdx;" (assignment_expression "pFVar6 = (Fts3Table *)&pFStackY_c8->bDescIdx" identifier = (cast_expression "(Fts3Table *)&pFStackY_c8->bDescIdx" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFStackY_c8->bDescIdx" & (field_expression "pFStackY_c8->bDescIdx" identifier -> field_identifier)))) ;) (expression_statement "pFStackY_f4 = (Fts3Table *)0x0;" (assignment_expression "pFStackY_f4 = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStackY_fc = (code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168);" (assignment_expression "pcStackY_fc = (code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168)" identifier = (cast_expression "(code *)(*(int *)(puStackY_108 + -0x7eb8) + 0x6168)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStackY_108 + -0x7eb8) + 0x6168)" ( (binary_expression "*(int *)(puStackY_108 + -0x7eb8) + 0x6168" (pointer_expression "*(int *)(puStackY_108 + -0x7eb8)" * (cast_expression "(int *)(puStackY_108 + -0x7eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStackY_108 + -0x7eb8)" ( (binary_expression "puStackY_108 + -0x7eb8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStackY_9c = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220);" (assignment_expression "pcStackY_9c = (code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220)" identifier = (cast_expression "(code *)(*(int *)(puStackY_108 + -0x7f54) + 0x5220)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStackY_108 + -0x7f54) + 0x5220)" ( (binary_expression "*(int *)(puStackY_108 + -0x7f54) + 0x5220" (pointer_expression "*(int *)(puStackY_108 + -0x7f54)" * (cast_expression "(int *)(puStackY_108 + -0x7f54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStackY_108 + -0x7f54)" ( (binary_expression "puStackY_108 + -0x7f54" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uStackY_b8 = (uint)psStackY_94 & 4;" (assignment_expression "uStackY_b8 = (uint)psStackY_94 & 4" identifier = (binary_expression "(uint)psStackY_94 & 4" (cast_expression "(uint)psStackY_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uStackY_bc = (uint)psStackY_94 & 2;" (assignment_expression "uStackY_bc = (uint)psStackY_94 & 2" identifier = (binary_expression "(uint)psStackY_94 & 2" (cast_expression "(uint)psStackY_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uStackY_b4 = (uint)psStackY_94 & 0x20;" (assignment_expression "uStackY_b4 = (uint)psStackY_94 & 0x20" identifier = (binary_expression "(uint)psStackY_94 & 0x20" (cast_expression "(uint)psStackY_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "pFStackY_d4 = unaff_s7;" (assignment_expression "pFStackY_d4 = unaff_s7" identifier = identifier) ;) (expression_statement "pFStackY_d0 = unaff_s8;" (assignment_expression "pFStackY_d0 = unaff_s8" identifier = identifier) ;) (do_statement "do {\n            p = pFStackY_f0;\n            psStackY_90 = (sqlite3_module *)0x0;\n            psStackY_8c = (sqlite3_module *)0x0;\n            psVar15 = (pFStackY_f0->base).pModule;\n            pFVar26 = (Fts3Table *)psVar15->xRollbackTo;\n            pReader = (Fts3SegReader *)psVar15->xShadowName;\n            in_a3 = pFStackY_d0;\n            (*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);\n            if (unaff_s6 == (char *)0x1) {\n              unaff_s5 = (char *)0x1;\n            }\n            else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }\n            if (uStackY_b8 != 0) {\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }\n            pFVar18 = pFStackY_e0;\n            if ((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }\n            pFStackY_d8 = pFVar11;\n            pFStackY_dc = pFVar9;\n            pReader = (Fts3SegReader *)pFStackY_f0;\n            in_a3 = pFStackY_c4;\n            (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);\n          } while (((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=\n                   (_func_int_sqlite3_vtab_ptr_int *)0x0);" do (compound_statement "{\n            p = pFStackY_f0;\n            psStackY_90 = (sqlite3_module *)0x0;\n            psStackY_8c = (sqlite3_module *)0x0;\n            psVar15 = (pFStackY_f0->base).pModule;\n            pFVar26 = (Fts3Table *)psVar15->xRollbackTo;\n            pReader = (Fts3SegReader *)psVar15->xShadowName;\n            in_a3 = pFStackY_d0;\n            (*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);\n            if (unaff_s6 == (char *)0x1) {\n              unaff_s5 = (char *)0x1;\n            }\n            else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }\n            if (uStackY_b8 != 0) {\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }\n            pFVar18 = pFStackY_e0;\n            if ((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }\n            pFStackY_d8 = pFVar11;\n            pFStackY_dc = pFVar9;\n            pReader = (Fts3SegReader *)pFStackY_f0;\n            in_a3 = pFStackY_c4;\n            (*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);\n          }" { (expression_statement "p = pFStackY_f0;" (assignment_expression "p = pFStackY_f0" identifier = identifier) ;) (expression_statement "psStackY_90 = (sqlite3_module *)0x0;" (assignment_expression "psStackY_90 = (sqlite3_module *)0x0" identifier = (cast_expression "(sqlite3_module *)0x0" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psStackY_8c = (sqlite3_module *)0x0;" (assignment_expression "psStackY_8c = (sqlite3_module *)0x0" identifier = (cast_expression "(sqlite3_module *)0x0" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar15 = (pFStackY_f0->base).pModule;" (assignment_expression "psVar15 = (pFStackY_f0->base).pModule" identifier = (field_expression "(pFStackY_f0->base).pModule" (parenthesized_expression "(pFStackY_f0->base)" ( (field_expression "pFStackY_f0->base" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pFVar26 = (Fts3Table *)psVar15->xRollbackTo;" (assignment_expression "pFVar26 = (Fts3Table *)psVar15->xRollbackTo" identifier = (cast_expression "(Fts3Table *)psVar15->xRollbackTo" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar15->xRollbackTo" identifier -> field_identifier))) ;) (expression_statement "pReader = (Fts3SegReader *)psVar15->xShadowName;" (assignment_expression "pReader = (Fts3SegReader *)psVar15->xShadowName" identifier = (cast_expression "(Fts3SegReader *)psVar15->xShadowName" ( (type_descriptor "Fts3SegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar15->xShadowName" identifier -> field_identifier))) ;) (expression_statement "in_a3 = pFStackY_d0;" (assignment_expression "in_a3 = pFStackY_d0" identifier = identifier) ;) (expression_statement "(*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4);" (call_expression "(*pcStackY_fc)(pFVar6,psVar15,pFStackY_d4)" (parenthesized_expression "(*pcStackY_fc)" ( (pointer_expression "*pcStackY_fc" * identifier) )) (argument_list "(pFVar6,psVar15,pFStackY_d4)" ( identifier , identifier , identifier ))) ;) (if_statement "if (unaff_s6 == (char *)0x1) {\n              unaff_s5 = (char *)0x1;\n            }\n            else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }" if (parenthesized_expression "(unaff_s6 == (char *)0x1)" ( (binary_expression "unaff_s6 == (char *)0x1" identifier == (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              unaff_s5 = (char *)0x1;\n            }" { (expression_statement "unaff_s5 = (char *)0x1;" (assignment_expression "unaff_s5 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }" else (compound_statement "{\n              psVar15 = (sqlite3_module *)(p->base).nRef;\n              unaff_s5 = (char *)0x1;\n              if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }\n            }" { (expression_statement "psVar15 = (sqlite3_module *)(p->base).nRef;" (assignment_expression "psVar15 = (sqlite3_module *)(p->base).nRef" identifier = (cast_expression "(sqlite3_module *)(p->base).nRef" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(p->base).nRef" (parenthesized_expression "(p->base)" ( (field_expression "p->base" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "unaff_s5 = (char *)0x1;" (assignment_expression "unaff_s5 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)) {\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }" if (parenthesized_expression "(((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader))" ( (binary_expression "((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)) &&\n                 ((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)" (parenthesized_expression "((psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26))" ( (binary_expression "(psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0) &&\n                  ((Fts3Table *)psVar15->xRollbackTo == pFVar26)" (parenthesized_expression "(psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0)" ( (binary_expression "psVar15->xSavepoint != (_func_int_sqlite3_vtab_ptr_int *)0x0" (field_expression "psVar15->xSavepoint" identifier -> field_identifier) != (cast_expression "(_func_int_sqlite3_vtab_ptr_int *)0x0" ( (type_descriptor "_func_int_sqlite3_vtab_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((Fts3Table *)psVar15->xRollbackTo == pFVar26)" ( (binary_expression "(Fts3Table *)psVar15->xRollbackTo == pFVar26" (cast_expression "(Fts3Table *)psVar15->xRollbackTo" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar15->xRollbackTo" identifier -> field_identifier)) == identifier) ))) )) && (parenthesized_expression "((Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader)" ( (binary_expression "(Fts3Table *)psVar15->xShadowName == (Fts3Table *)pReader" (cast_expression "(Fts3Table *)psVar15->xShadowName" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar15->xShadowName" identifier -> field_identifier)) == (cast_expression "(Fts3Table *)pReader" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (compound_statement "{\n                p = (Fts3Table *)&(p->base).zErrMsg;\n                while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }\n              }" { (expression_statement "p = (Fts3Table *)&(p->base).zErrMsg;" (assignment_expression "p = (Fts3Table *)&(p->base).zErrMsg" identifier = (cast_expression "(Fts3Table *)&(p->base).zErrMsg" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(p->base).zErrMsg" & (field_expression "(p->base).zErrMsg" (parenthesized_expression "(p->base)" ( (field_expression "p->base" identifier -> field_identifier) )) . field_identifier)))) ;) (while_statement "while( true ) {\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  in_a3 = (Fts3Table *)0x0;\n                  unaff_s5 = unaff_s5 + 1;\n                  (*pcStackY_fc)(pFVar6,psVar15,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;\n                  p = (Fts3Table *)&(p->base).nRef;\n                  if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;\n                }" { (expression_statement "in_a3 = (Fts3Table *)0x0;" (assignment_expression "in_a3 = (Fts3Table *)0x0" identifier = (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s5 = unaff_s5 + 1;" (assignment_expression "unaff_s5 = unaff_s5 + 1" identifier = (binary_expression "unaff_s5 + 1" identifier + number_literal)) ;) (expression_statement "(*pcStackY_fc)(pFVar6,psVar15,0);" (call_expression "(*pcStackY_fc)(pFVar6,psVar15,0)" (parenthesized_expression "(*pcStackY_fc)" ( (pointer_expression "*pcStackY_fc" * identifier) )) (argument_list "(pFVar6,psVar15,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if ((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)) break;" if (parenthesized_expression "((unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0))" ( (binary_expression "(unaff_s5 == unaff_s6) ||\n                     (psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)" (parenthesized_expression "(unaff_s5 == unaff_s6)" ( (binary_expression "unaff_s5 == unaff_s6" identifier == identifier) )) || (parenthesized_expression "(psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0)" ( (comma_expression "psVar15 = (p->base).pModule,\n                     psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0" (assignment_expression "psVar15 = (p->base).pModule" identifier = (field_expression "(p->base).pModule" (parenthesized_expression "(p->base)" ( (field_expression "p->base" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "psVar15->xSavepoint == (_func_int_sqlite3_vtab_ptr_int *)0x0" (field_expression "psVar15->xSavepoint" identifier -> field_identifier) == (cast_expression "(_func_int_sqlite3_vtab_ptr_int *)0x0" ( (type_descriptor "_func_int_sqlite3_vtab_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (break_statement "break;" break ;)) (expression_statement "p = (Fts3Table *)&(p->base).nRef;" (assignment_expression "p = (Fts3Table *)&(p->base).nRef" identifier = (cast_expression "(Fts3Table *)&(p->base).nRef" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(p->base).nRef" & (field_expression "(p->base).nRef" (parenthesized_expression "(p->base)" ( (field_expression "p->base" identifier -> field_identifier) )) . field_identifier)))) ;) (if_statement "if (((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)) break;" if (parenthesized_expression "(((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader))" ( (binary_expression "((Fts3Table *)psVar15->xRollbackTo != pFVar26) ||\n                     ((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)" (parenthesized_expression "((Fts3Table *)psVar15->xRollbackTo != pFVar26)" ( (binary_expression "(Fts3Table *)psVar15->xRollbackTo != pFVar26" (cast_expression "(Fts3Table *)psVar15->xRollbackTo" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar15->xRollbackTo" identifier -> field_identifier)) != identifier) )) || (parenthesized_expression "((Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader)" ( (binary_expression "(Fts3Table *)psVar15->xShadowName != (Fts3Table *)pReader" (cast_expression "(Fts3Table *)psVar15->xShadowName" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar15->xShadowName" identifier -> field_identifier)) != (cast_expression "(Fts3Table *)pReader" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (break_statement "break;" break ;)) })) })) }))) (if_statement "if (uStackY_b8 != 0) {\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }" if (parenthesized_expression "(uStackY_b8 != 0)" ( (binary_expression "uStackY_b8 != 0" identifier != number_literal) )) (compound_statement "{\n              in_a3 = pFStackY_d0;\n              (*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);\n            }" { (expression_statement "in_a3 = pFStackY_d0;" (assignment_expression "in_a3 = pFStackY_d0" identifier = identifier) ;) (expression_statement "(*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4);" (call_expression "(*pcStackY_9c)(psStackY_a4->pDfltColl,0,pFStackY_d4)" (parenthesized_expression "(*pcStackY_9c)" ( (pointer_expression "*pcStackY_9c" * identifier) )) (argument_list "(psStackY_a4->pDfltColl,0,pFStackY_d4)" ( (field_expression "psStackY_a4->pDfltColl" identifier -> field_identifier) , number_literal , identifier ))) ;) })) (expression_statement "pFVar18 = pFStackY_e0;" (assignment_expression "pFVar18 = pFStackY_e0" identifier = identifier) ;) (if_statement "if ((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)) {\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }" if (parenthesized_expression "((uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c))" ( (binary_expression "(uStackY_bc == 0) ||\n               (pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)" (parenthesized_expression "(uStackY_bc == 0)" ( (binary_expression "uStackY_bc == 0" identifier == number_literal) )) || (parenthesized_expression "(pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c)" ( (comma_expression "pFVar9 = pFStackY_dc, pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c" (assignment_expression "pFVar9 = pFStackY_dc" identifier = identifier) , (comma_expression "pFVar11 = pFStackY_d8, 0 < (int)psStackY_8c" (assignment_expression "pFVar11 = pFStackY_d8" identifier = identifier) , (binary_expression "0 < (int)psStackY_8c" number_literal < (cast_expression "(int)psStackY_8c" ( (type_descriptor "int" primitive_type) ) identifier)))) ))) )) (compound_statement "{\n              if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pFStackY_e8;\n              pFVar9 = pFStackY_e8;\n              pFVar11 = pFVar29;\n              iVar4 = 0;\n              do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);\n              if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }\n              iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;\n              pcVar16 = pFStackY_e0->zDb;\n              unaff_s4 = pFStackY_e8;\n              unaff_s7 = pFVar29;\n              if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }\n              p = pFStackY_e0;\n              pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);\n              pbVar24 = pbVar5;\n              pFVar18 = unaff_s8;\n              pbStackY_ec = pbVar5;\n              pFVar9 = pFVar26;\n              if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }\n            }" { (if_statement "if (pFStackY_c8->bDescIdx == '\0') {\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }" if (parenthesized_expression "(pFStackY_c8->bDescIdx == '\0')" ( (binary_expression "pFStackY_c8->bDescIdx == '\0'" (field_expression "pFStackY_c8->bDescIdx" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));\n                pFStackY_e8 = unaff_s4;\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }" { (expression_statement "unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);" (assignment_expression "unaff_s4 = (Fts3Table *)((int)pReader - (int)pFStackY_d8)" identifier = (cast_expression "(Fts3Table *)((int)pReader - (int)pFStackY_d8)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pReader - (int)pFStackY_d8)" ( (binary_expression "(int)pReader - (int)pFStackY_d8" (cast_expression "(int)pReader" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pFStackY_d8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc));" (assignment_expression "pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc))" identifier = (cast_expression "(Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc))" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc))" ( (binary_expression "(int)pFVar26 + (-(uint)(pReader < unaff_s4) - (int)pFStackY_dc)" (cast_expression "(int)pFVar26" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(uint)(pReader < unaff_s4) - (int)pFStackY_dc)" ( (binary_expression "-(uint)(pReader < unaff_s4) - (int)pFStackY_dc" (unary_expression "-(uint)(pReader < unaff_s4)" - (call_expression "(uint)(pReader < unaff_s4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pReader < unaff_s4)" ( (binary_expression "pReader < unaff_s4" identifier < identifier) )))) - (cast_expression "(int)pFStackY_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "pFStackY_e8 = unaff_s4;" (assignment_expression "pFStackY_e8 = unaff_s4" identifier = identifier) ;) (if_statement "if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))) {\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }" if (parenthesized_expression "(((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0))))" ( (binary_expression "((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))" (parenthesized_expression "((int)pFVar29 < 1)" ( (binary_expression "(int)pFVar29 < 1" (cast_expression "(int)pFVar29" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)))" ( (parenthesized_expression "(pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0))" ( (binary_expression "pFVar29 != (Fts3Table *)0x0 || (unaff_s4 == (Fts3Table *)0x0)" (binary_expression "pFVar29 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(unaff_s4 == (Fts3Table *)0x0)" ( (binary_expression "unaff_s4 == (Fts3Table *)0x0" identifier == (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) ))) )) (compound_statement "{\n                  iVar4 = 0x10b;\n                  if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar4 = 0x10b;\n                  unaff_s4 = pFStackY_e8;\n                  if (pFVar26 != pFVar29) goto LAB_0011ddb4;\n                  if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }" { (expression_statement "iVar4 = 0x10b;" (assignment_expression "iVar4 = 0x10b" identifier = number_literal) ;) (if_statement "if (0 < (int)pFStackY_f4) goto LAB_0011ddb4;" if (parenthesized_expression "(0 < (int)pFStackY_f4)" ( (binary_expression "0 < (int)pFStackY_f4" number_literal < (cast_expression "(int)pFStackY_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;)) (labeled_statement "LAB_0011e414:\n                  iVar4 = 0x10b;" statement_identifier : (expression_statement "iVar4 = 0x10b;" (assignment_expression "iVar4 = 0x10b" identifier = number_literal) ;)) (expression_statement "unaff_s4 = pFStackY_e8;" (assignment_expression "unaff_s4 = pFStackY_e8" identifier = identifier) ;) (if_statement "if (pFVar26 != pFVar29) goto LAB_0011ddb4;" if (parenthesized_expression "(pFVar26 != pFVar29)" ( (binary_expression "pFVar26 != pFVar29" identifier != identifier) )) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;)) (if_statement "if ((Fts3Table *)pReader != pFStackY_e8) {\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }" if (parenthesized_expression "((Fts3Table *)pReader != pFStackY_e8)" ( (binary_expression "(Fts3Table *)pReader != pFStackY_e8" (cast_expression "(Fts3Table *)pReader" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n                    iVar4 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }" { (expression_statement "iVar4 = 0x10b;" (assignment_expression "iVar4 = 0x10b" identifier = number_literal) ;) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;) })) })) }) (else_clause "else if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }" else (if_statement "if ((int)pFStackY_f4 < 1) {\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }\n              else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }" if (parenthesized_expression "((int)pFStackY_f4 < 1)" ( (binary_expression "(int)pFStackY_f4 < 1" (cast_expression "(int)pFStackY_f4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));\n                if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;\n              }" { (expression_statement "pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8);" (assignment_expression "pFStackY_e8 = (Fts3Table *)((int)pReader - (int)pFStackY_d8)" identifier = (cast_expression "(Fts3Table *)((int)pReader - (int)pFStackY_d8)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pReader - (int)pFStackY_d8)" ( (binary_expression "(int)pReader - (int)pFStackY_d8" (cast_expression "(int)pReader" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pFStackY_d8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc));" (assignment_expression "pFVar29 = (Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc))" identifier = (cast_expression "(Fts3Table *)\n                          ((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc))" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc))" ( (binary_expression "(int)pFVar26 + (-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc)" (cast_expression "(int)pFVar26" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc)" ( (binary_expression "-(uint)(pReader < pFStackY_e8) - (int)pFStackY_dc" (unary_expression "-(uint)(pReader < pFStackY_e8)" - (call_expression "(uint)(pReader < pFStackY_e8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pReader < pFStackY_e8)" ( (binary_expression "pReader < pFStackY_e8" identifier < identifier) )))) - (cast_expression "(int)pFStackY_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (if_statement "if (((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))\n                goto LAB_0011e414;" if (parenthesized_expression "(((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))))" ( (binary_expression "((int)pFVar29 < 1) &&\n                   ((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0)))" (parenthesized_expression "((int)pFVar29 < 1)" ( (binary_expression "(int)pFVar29 < 1" (cast_expression "(int)pFVar29" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0)))" ( (parenthesized_expression "(pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0))" ( (binary_expression "pFVar29 != (Fts3Table *)0x0 || (pFStackY_e8 == (Fts3Table *)0x0)" (binary_expression "pFVar29 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(pFStackY_e8 == (Fts3Table *)0x0)" ( (binary_expression "pFStackY_e8 == (Fts3Table *)0x0" identifier == (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) ))) )) (goto_statement "goto LAB_0011e414;" goto statement_identifier ;)) }) (else_clause "else {\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }" else (compound_statement "{\n                pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);\n                pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));\n                if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;\n              }" { (expression_statement "pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader);" (assignment_expression "pFStackY_e8 = (Fts3Table *)((int)pFStackY_d8 - (int)pReader)" identifier = (cast_expression "(Fts3Table *)((int)pFStackY_d8 - (int)pReader)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFStackY_d8 - (int)pReader)" ( (binary_expression "(int)pFStackY_d8 - (int)pReader" (cast_expression "(int)pFStackY_d8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pReader" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26));" (assignment_expression "pFVar29 = (Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26))" identifier = (cast_expression "(Fts3Table *)\n                          ((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26))" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26))" ( (binary_expression "(int)pFStackY_dc + (-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26)" (cast_expression "(int)pFStackY_dc" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26)" ( (binary_expression "-(uint)(pFStackY_d8 < pFStackY_e8) - (int)pFVar26" (unary_expression "-(uint)(pFStackY_d8 < pFStackY_e8)" - (call_expression "(uint)(pFStackY_d8 < pFStackY_e8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pFStackY_d8 < pFStackY_e8)" ( (binary_expression "pFStackY_d8 < pFStackY_e8" identifier < identifier) )))) - (cast_expression "(int)pFVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (if_statement "if (((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))) goto LAB_0011ddb4;" if (parenthesized_expression "(((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0))))" ( (binary_expression "((int)pFVar29 < 1) &&\n                   ((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))" (parenthesized_expression "((int)pFVar29 < 1)" ( (binary_expression "(int)pFVar29 < 1" (cast_expression "(int)pFVar29" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)))" ( (parenthesized_expression "(iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0))" ( (comma_expression "iVar4 = 0x10b, unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)" (assignment_expression "iVar4 = 0x10b" identifier = number_literal) , (comma_expression "unaff_s4 = pFStackY_e8, pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)" (assignment_expression "unaff_s4 = pFStackY_e8" identifier = identifier) , (binary_expression "pFVar29 != (Fts3Table *)0x0 ||\n                    (pFStackY_e8 == (Fts3Table *)0x0)" (binary_expression "pFVar29 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(pFStackY_e8 == (Fts3Table *)0x0)" ( (binary_expression "pFStackY_e8 == (Fts3Table *)0x0" identifier == (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) )) ))) )) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;)) }))))) (expression_statement "unaff_s8 = pFStackY_e8;" (assignment_expression "unaff_s8 = pFStackY_e8" identifier = identifier) ;) (expression_statement "pFVar9 = pFStackY_e8;" (assignment_expression "pFVar9 = pFStackY_e8" identifier = identifier) ;) (expression_statement "pFVar11 = pFVar29;" (assignment_expression "pFVar11 = pFVar29" identifier = identifier) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              } while (pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0);" do (compound_statement "{\n                iVar20 = iVar4;\n                uVar10 = (int)pFVar11 << 0x19;\n                pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);\n                pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);\n                iVar4 = iVar20 + 1;\n              }" { (expression_statement "iVar20 = iVar4;" (assignment_expression "iVar20 = iVar4" identifier = identifier) ;) (expression_statement "uVar10 = (int)pFVar11 << 0x19;" (assignment_expression "uVar10 = (int)pFVar11 << 0x19" identifier = (binary_expression "(int)pFVar11 << 0x19" (cast_expression "(int)pFVar11" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7);" (assignment_expression "pFVar11 = (Fts3Table *)((uint)pFVar11 >> 7)" identifier = (cast_expression "(Fts3Table *)((uint)pFVar11 >> 7)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pFVar11 >> 7)" ( (binary_expression "(uint)pFVar11 >> 7" (cast_expression "(uint)pFVar11" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7);" (assignment_expression "pFVar9 = (Fts3Table *)(uVar10 | (uint)pFVar9 >> 7)" identifier = (cast_expression "(Fts3Table *)(uVar10 | (uint)pFVar9 >> 7)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 | (uint)pFVar9 >> 7)" ( (binary_expression "uVar10 | (uint)pFVar9 >> 7" identifier | (binary_expression "(uint)pFVar9 >> 7" (cast_expression "(uint)pFVar9" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "iVar4 = iVar20 + 1;" (assignment_expression "iVar4 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0)" ( (binary_expression "pFVar11 != (Fts3Table *)0x0 || pFVar9 != (Fts3Table *)0x0" (binary_expression "pFVar11 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "pFVar9 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) ;) (if_statement "if (uStackY_cc != 0) {\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }" if (parenthesized_expression "(uStackY_cc != 0)" ( (binary_expression "uStackY_cc != 0" identifier != number_literal) )) (compound_statement "{\n                iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;\n              }" { (expression_statement "iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2;" (assignment_expression "iVar4 = (int)&psStackY_8c->iVersion + iVar20 + 2" identifier = (binary_expression "(int)&psStackY_8c->iVersion + iVar20 + 2" (binary_expression "(int)&psStackY_8c->iVersion + iVar20" (cast_expression "(int)&psStackY_8c->iVersion" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStackY_8c->iVersion" & (field_expression "psStackY_8c->iVersion" identifier -> field_identifier))) + identifier) + number_literal)) ;) })) (expression_statement "iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38;" (assignment_expression "iVar4 = (int)pFStackY_f4->aStmt + iVar4 + -0x38" identifier = (binary_expression "(int)pFStackY_f4->aStmt + iVar4 + -0x38" (binary_expression "(int)pFStackY_f4->aStmt + iVar4" (cast_expression "(int)pFStackY_f4->aStmt" ( (type_descriptor "int" primitive_type) ) (field_expression "pFStackY_f4->aStmt" identifier -> field_identifier)) + identifier) + number_literal)) ;) (expression_statement "pcVar16 = pFStackY_e0->zDb;" (assignment_expression "pcVar16 = pFStackY_e0->zDb" identifier = (field_expression "pFStackY_e0->zDb" identifier -> field_identifier)) ;) (expression_statement "unaff_s4 = pFStackY_e8;" (assignment_expression "unaff_s4 = pFStackY_e8" identifier = identifier) ;) (expression_statement "unaff_s7 = pFVar29;" (assignment_expression "unaff_s7 = pFVar29" identifier = identifier) ;) (if_statement "if ((int)pFStackY_e0->zName < iVar4) {\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }" if (parenthesized_expression "((int)pFStackY_e0->zName < iVar4)" ( (binary_expression "(int)pFStackY_e0->zName < iVar4" (cast_expression "(int)pFStackY_e0->zName" ( (type_descriptor "int" primitive_type) ) (field_expression "pFStackY_e0->zName" identifier -> field_identifier)) < identifier) )) (compound_statement "{\n                pcVar33 = *(code **)(puStackY_108 + -0x7fc0);\n                pFStackY_e0->zName = (char *)(iVar4 * 2);\n                pcVar16 = (char *)(*pcVar33)(pcVar16);\n                unaff_s4 = pFVar18;\n                if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pFVar18->zDb = pcVar16;\n              }" { (expression_statement "pcVar33 = *(code **)(puStackY_108 + -0x7fc0);" (assignment_expression "pcVar33 = *(code **)(puStackY_108 + -0x7fc0)" identifier = (pointer_expression "*(code **)(puStackY_108 + -0x7fc0)" * (cast_expression "(code **)(puStackY_108 + -0x7fc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStackY_108 + -0x7fc0)" ( (binary_expression "puStackY_108 + -0x7fc0" identifier + number_literal) ))))) ;) (expression_statement "pFStackY_e0->zName = (char *)(iVar4 * 2);" (assignment_expression "pFStackY_e0->zName = (char *)(iVar4 * 2)" (field_expression "pFStackY_e0->zName" identifier -> field_identifier) = (cast_expression "(char *)(iVar4 * 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 * 2)" ( (binary_expression "iVar4 * 2" identifier * number_literal) )))) ;) (expression_statement "pcVar16 = (char *)(*pcVar33)(pcVar16);" (assignment_expression "pcVar16 = (char *)(*pcVar33)(pcVar16)" identifier = (cast_expression "(char *)(*pcVar33)(pcVar16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar33)(pcVar16)" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "(pcVar16)" ( identifier ))))) ;) (expression_statement "unaff_s4 = pFVar18;" (assignment_expression "unaff_s4 = pFVar18" identifier = identifier) ;) (if_statement "if (pcVar16 == (char *)0x0) {\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }" if (parenthesized_expression "(pcVar16 == (char *)0x0)" ( (binary_expression "pcVar16 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  iVar4 = 7;\n                  goto LAB_0011ddb4;\n                }" { (expression_statement "iVar4 = 7;" (assignment_expression "iVar4 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;) })) (expression_statement "pFVar18->zDb = pcVar16;" (assignment_expression "pFVar18->zDb = pcVar16" (field_expression "pFVar18->zDb" identifier -> field_identifier) = identifier) ;) })) (expression_statement "p = pFStackY_e0;" (assignment_expression "p = pFStackY_e0" identifier = identifier) ;) (expression_statement "pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4);" (assignment_expression "pbVar5 = (byte *)(pcVar16 + (int)pFStackY_f4)" identifier = (cast_expression "(byte *)(pcVar16 + (int)pFStackY_f4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + (int)pFStackY_f4)" ( (binary_expression "pcVar16 + (int)pFStackY_f4" identifier + (cast_expression "(int)pFStackY_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbVar24 = pbVar5;" (assignment_expression "pbVar24 = pbVar5" identifier = identifier) ;) (expression_statement "pFVar18 = unaff_s8;" (assignment_expression "pFVar18 = unaff_s8" identifier = identifier) ;) (expression_statement "pbStackY_ec = pbVar5;" (assignment_expression "pbStackY_ec = pbVar5" identifier = identifier) ;) (expression_statement "pFVar9 = pFVar26;" (assignment_expression "pFVar9 = pFVar26" identifier = identifier) ;) (if_statement "if (uStackY_b4 == 0) {\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }\n              else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }" if (parenthesized_expression "(uStackY_b4 == 0)" ( (binary_expression "uStackY_b4 == 0" identifier == number_literal) )) (compound_statement "{\n                do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);\n                *pbVar19 = bVar1 & 0x7f;\n                pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));\n                pFStackY_f4 = pFVar18;\n                pFVar11 = (Fts3Table *)pReader;\n                if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }\n              }" { (do_statement "do {\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                } while (unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0);" do (compound_statement "{\n                  pbVar19 = pbVar24;\n                  uVar10 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                  bVar1 = (byte)pFVar18;\n                  *pbVar19 = bVar1 | 0x80;\n                  pbVar24 = pbVar19 + 1;\n                  pFVar18 = unaff_s8;\n                }" { (expression_statement "pbVar19 = pbVar24;" (assignment_expression "pbVar19 = pbVar24" identifier = identifier) ;) (expression_statement "uVar10 = (int)unaff_s7 << 0x19;" (assignment_expression "uVar10 = (int)unaff_s7 << 0x19" identifier = (binary_expression "(int)unaff_s7 << 0x19" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7);" (assignment_expression "unaff_s7 = (Fts3Table *)((uint)unaff_s7 >> 7)" identifier = (cast_expression "(Fts3Table *)((uint)unaff_s7 >> 7)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)unaff_s7 >> 7)" ( (binary_expression "(uint)unaff_s7 >> 7" (cast_expression "(uint)unaff_s7" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);" (assignment_expression "unaff_s8 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7)" identifier = (cast_expression "(Fts3Table *)(uVar10 | (uint)pFVar18 >> 7)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 | (uint)pFVar18 >> 7)" ( (binary_expression "uVar10 | (uint)pFVar18 >> 7" identifier | (binary_expression "(uint)pFVar18 >> 7" (cast_expression "(uint)pFVar18" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "bVar1 = (byte)pFVar18;" (assignment_expression "bVar1 = (byte)pFVar18" identifier = (cast_expression "(byte)pFVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pbVar19 = bVar1 | 0x80;" (assignment_expression "*pbVar19 = bVar1 | 0x80" (pointer_expression "*pbVar19" * identifier) = (binary_expression "bVar1 | 0x80" identifier | number_literal)) ;) (expression_statement "pbVar24 = pbVar19 + 1;" (assignment_expression "pbVar24 = pbVar19 + 1" identifier = (binary_expression "pbVar19 + 1" identifier + number_literal)) ;) (expression_statement "pFVar18 = unaff_s8;" (assignment_expression "pFVar18 = unaff_s8" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0)" ( (binary_expression "unaff_s7 != (Fts3Table *)0x0 || unaff_s8 != (Fts3Table *)0x0" (binary_expression "unaff_s7 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "unaff_s8 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) ;) (expression_statement "*pbVar19 = bVar1 & 0x7f;" (assignment_expression "*pbVar19 = bVar1 & 0x7f" (pointer_expression "*pbVar19" * identifier) = (binary_expression "bVar1 & 0x7f" identifier & number_literal)) ;) (expression_statement "pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5));" (assignment_expression "pFVar18 = (Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5))" identifier = (cast_expression "(Fts3Table *)((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5))" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5))" ( (binary_expression "(int)pFStackY_f4 + ((int)(pbVar19 + 1) - (int)pbVar5)" (cast_expression "(int)pFStackY_f4" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pbVar19 + 1) - (int)pbVar5)" ( (binary_expression "(int)(pbVar19 + 1) - (int)pbVar5" (cast_expression "(int)(pbVar19 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar19 + 1)" ( (binary_expression "pbVar19 + 1" identifier + number_literal) ))) - (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "pFStackY_f4 = pFVar18;" (assignment_expression "pFStackY_f4 = pFVar18" identifier = identifier) ;) (expression_statement "pFVar11 = (Fts3Table *)pReader;" (assignment_expression "pFVar11 = (Fts3Table *)pReader" identifier = (cast_expression "(Fts3Table *)pReader" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uStackY_cc != 0) {\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }" if (parenthesized_expression "(uStackY_cc != 0)" ( (binary_expression "uStackY_cc != 0" identifier != number_literal) )) (compound_statement "{\n                  (**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);\n                  iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;\n                  p->zDb[iVar4] = '\0';\n                  unaff_s4 = pFVar18;\n                  pFStackY_f4 = (Fts3Table *)(iVar4 + 1);\n                  pFVar11 = (Fts3Table *)pReader;\n                }" { (expression_statement "(**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c);" (call_expression "(**(code **)(puStackY_108 + -0x7b80))\n                            (pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c)" (parenthesized_expression "(**(code **)(puStackY_108 + -0x7b80))" ( (pointer_expression "**(code **)(puStackY_108 + -0x7b80)" * (pointer_expression "*(code **)(puStackY_108 + -0x7b80)" * (cast_expression "(code **)(puStackY_108 + -0x7b80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStackY_108 + -0x7b80)" ( (binary_expression "puStackY_108 + -0x7b80" identifier + number_literal) ))))) )) (argument_list "(pFStackY_e0->zDb + (int)pFVar18,psStackY_90,psStackY_8c)" ( (binary_expression "pFStackY_e0->zDb + (int)pFVar18" (field_expression "pFStackY_e0->zDb" identifier -> field_identifier) + (cast_expression "(int)pFVar18" ( (type_descriptor "int" primitive_type) ) identifier)) , identifier , identifier ))) ;) (expression_statement "iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof;" (assignment_expression "iVar4 = (int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof" identifier = (binary_expression "(int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt +\n                          (int)&psStackY_8c[-1].xEof" (cast_expression "(int)((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt" ( (type_descriptor "int" primitive_type) ) (field_expression "((Fts3Table *)(pFVar18->aStmt + -0xe))->aStmt" (parenthesized_expression "((Fts3Table *)(pFVar18->aStmt + -0xe))" ( (cast_expression "(Fts3Table *)(pFVar18->aStmt + -0xe)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pFVar18->aStmt + -0xe)" ( (binary_expression "pFVar18->aStmt + -0xe" (field_expression "pFVar18->aStmt" identifier -> field_identifier) + number_literal) ))) )) -> field_identifier)) + (cast_expression "(int)&psStackY_8c[-1].xEof" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStackY_8c[-1].xEof" & (field_expression "psStackY_8c[-1].xEof" (subscript_expression "psStackY_8c[-1]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "p->zDb[iVar4] = '\0';" (assignment_expression "p->zDb[iVar4] = '\0'" (subscript_expression "p->zDb[iVar4]" (field_expression "p->zDb" identifier -> field_identifier) [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "unaff_s4 = pFVar18;" (assignment_expression "unaff_s4 = pFVar18" identifier = identifier) ;) (expression_statement "pFStackY_f4 = (Fts3Table *)(iVar4 + 1);" (assignment_expression "pFStackY_f4 = (Fts3Table *)(iVar4 + 1)" identifier = (cast_expression "(Fts3Table *)(iVar4 + 1)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 1)" ( (binary_expression "iVar4 + 1" identifier + number_literal) )))) ;) (expression_statement "pFVar11 = (Fts3Table *)pReader;" (assignment_expression "pFVar11 = (Fts3Table *)pReader" identifier = (cast_expression "(Fts3Table *)pReader" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) }) (else_clause "else {\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }" else (compound_statement "{\n                uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);\n                psVar15 = psStackY_90;\n                if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }\n              }" { (expression_statement "uVar10 = (uint)*(char *)&psStackY_90->iVersion;" (assignment_expression "uVar10 = (uint)*(char *)&psStackY_90->iVersion" identifier = (binary_expression "(uint)*(char *)&psStackY_90->iVersion" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)&psStackY_90->iVersion" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStackY_90->iVersion" & (field_expression "psStackY_90->iVersion" identifier -> field_identifier))))) ;) (expression_statement "psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion);" (assignment_expression "psVar31 = (sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion)" identifier = (cast_expression "(sqlite3_module *)\n                          ((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion)" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion)" ( (binary_expression "(int)&psStackY_8c->iVersion + (int)&psStackY_90->iVersion" (cast_expression "(int)&psStackY_8c->iVersion" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStackY_8c->iVersion" & (field_expression "psStackY_8c->iVersion" identifier -> field_identifier))) + (cast_expression "(int)&psStackY_90->iVersion" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStackY_90->iVersion" & (field_expression "psStackY_90->iVersion" identifier -> field_identifier)))) )))) ;) (expression_statement "psVar15 = psStackY_90;" (assignment_expression "psVar15 = psStackY_90" identifier = identifier) ;) (if_statement "if (uVar10 == 1) {\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }" if (parenthesized_expression "(uVar10 == 1)" ( (binary_expression "uVar10 == 1" identifier == number_literal) )) (compound_statement "{\n                  pbVar24 = (byte *)0x0;\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }" { (expression_statement "pbVar24 = (byte *)0x0;" (assignment_expression "pbVar24 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p = pFVar29;" (assignment_expression "p = pFVar29" identifier = identifier) ;) (expression_statement "pFVar9 = pFStackY_dc;" (assignment_expression "pFVar9 = pFStackY_dc" identifier = identifier) ;) (expression_statement "pFVar11 = pFStackY_d8;" (assignment_expression "pFVar11 = pFStackY_d8" identifier = identifier) ;) (if_statement "if (psStackY_90 < psVar31) {\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }" if (parenthesized_expression "(psStackY_90 < psVar31)" ( (binary_expression "psStackY_90 < psVar31" identifier < identifier) )) (compound_statement "{\n                    iStackY_e4 = 0;\n                    goto LAB_0011e284;\n                  }" { (expression_statement "iStackY_e4 = 0;" (assignment_expression "iStackY_e4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0011e284;" goto statement_identifier ;) })) }) (else_clause "else {\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }" else (compound_statement "{\n                  pbVar24 = (byte *)0x0;\n                  pFVar18 = pFStackY_e8;\n                  pFVar9 = pFVar29;\n                  pbVar19 = pbVar5;\n                  if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }\n                  for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }\n                  if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }\n                  if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }\n                  p = pFVar29;\n                  pFVar9 = pFStackY_dc;\n                  pFVar11 = pFStackY_d8;\n                  if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }\n                }" { (expression_statement "pbVar24 = (byte *)0x0;" (assignment_expression "pbVar24 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFVar18 = pFStackY_e8;" (assignment_expression "pFVar18 = pFStackY_e8" identifier = identifier) ;) (expression_statement "pFVar9 = pFVar29;" (assignment_expression "pFVar9 = pFVar29" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar5;" (assignment_expression "pbVar19 = pbVar5" identifier = identifier) ;) (if_statement "if (uVar10 == 2) {\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }\n                  else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }" if (parenthesized_expression "(uVar10 == 2)" ( (binary_expression "uVar10 == 2" identifier == number_literal) )) (compound_statement "{\n                    do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);\n                    *pbVar24 = bVar1 & 0x7f;\n                    pbVar24 = pbVar19 + (1 - (int)pbVar5);\n                    *pbVar19 = 2;\n                    uVar10 = (uint)*(char *)&psStackY_90->iVersion;\n                    iStackY_e4 = 1;\n                    uVar21 = uVar10;\n                  }" { (do_statement "do {\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    } while (pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0);" do (compound_statement "{\n                      pbVar24 = pbVar19;\n                      uVar10 = (int)pFVar9 << 0x19;\n                      pbVar19 = pbVar24 + 1;\n                      pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                      pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                      bVar1 = (byte)pFVar18;\n                      *pbVar24 = bVar1 | 0x80;\n                      pFVar18 = pFVar11;\n                    }" { (expression_statement "pbVar24 = pbVar19;" (assignment_expression "pbVar24 = pbVar19" identifier = identifier) ;) (expression_statement "uVar10 = (int)pFVar9 << 0x19;" (assignment_expression "uVar10 = (int)pFVar9 << 0x19" identifier = (binary_expression "(int)pFVar9 << 0x19" (cast_expression "(int)pFVar9" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pbVar19 = pbVar24 + 1;" (assignment_expression "pbVar19 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);" (assignment_expression "pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7)" identifier = (cast_expression "(Fts3Table *)((uint)pFVar9 >> 7)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pFVar9 >> 7)" ( (binary_expression "(uint)pFVar9 >> 7" (cast_expression "(uint)pFVar9" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);" (assignment_expression "pFVar11 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7)" identifier = (cast_expression "(Fts3Table *)(uVar10 | (uint)pFVar18 >> 7)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 | (uint)pFVar18 >> 7)" ( (binary_expression "uVar10 | (uint)pFVar18 >> 7" identifier | (binary_expression "(uint)pFVar18 >> 7" (cast_expression "(uint)pFVar18" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "bVar1 = (byte)pFVar18;" (assignment_expression "bVar1 = (byte)pFVar18" identifier = (cast_expression "(byte)pFVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pbVar24 = bVar1 | 0x80;" (assignment_expression "*pbVar24 = bVar1 | 0x80" (pointer_expression "*pbVar24" * identifier) = (binary_expression "bVar1 | 0x80" identifier | number_literal)) ;) (expression_statement "pFVar18 = pFVar11;" (assignment_expression "pFVar18 = pFVar11" identifier = identifier) ;) }) while (parenthesized_expression "(pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0)" ( (binary_expression "pFVar9 != (Fts3Table *)0x0 || pFVar11 != (Fts3Table *)0x0" (binary_expression "pFVar9 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "pFVar11 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) ;) (expression_statement "*pbVar24 = bVar1 & 0x7f;" (assignment_expression "*pbVar24 = bVar1 & 0x7f" (pointer_expression "*pbVar24" * identifier) = (binary_expression "bVar1 & 0x7f" identifier & number_literal)) ;) (expression_statement "pbVar24 = pbVar19 + (1 - (int)pbVar5);" (assignment_expression "pbVar24 = pbVar19 + (1 - (int)pbVar5)" identifier = (binary_expression "pbVar19 + (1 - (int)pbVar5)" identifier + (parenthesized_expression "(1 - (int)pbVar5)" ( (binary_expression "1 - (int)pbVar5" number_literal - (cast_expression "(int)pbVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*pbVar19 = 2;" (assignment_expression "*pbVar19 = 2" (pointer_expression "*pbVar19" * identifier) = number_literal) ;) (expression_statement "uVar10 = (uint)*(char *)&psStackY_90->iVersion;" (assignment_expression "uVar10 = (uint)*(char *)&psStackY_90->iVersion" identifier = (binary_expression "(uint)*(char *)&psStackY_90->iVersion" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)&psStackY_90->iVersion" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStackY_90->iVersion" & (field_expression "psStackY_90->iVersion" identifier -> field_identifier))))) ;) (expression_statement "iStackY_e4 = 1;" (assignment_expression "iStackY_e4 = 1" identifier = number_literal) ;) (expression_statement "uVar21 = uVar10;" (assignment_expression "uVar21 = uVar10" identifier = identifier) ;) }) (else_clause "else {\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }" else (compound_statement "{\n                    iStackY_e4 = 0;\n                    uVar21 = uVar10;\n                  }" { (expression_statement "iStackY_e4 = 0;" (assignment_expression "iStackY_e4 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = uVar10;" (assignment_expression "uVar21 = uVar10" identifier = identifier) ;) }))) (for_statement "for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }" for ( ; (binary_expression "(uVar21 & 0xfe) != 0" (parenthesized_expression "(uVar21 & 0xfe)" ( (binary_expression "uVar21 & 0xfe" identifier & number_literal) )) != number_literal) ; (assignment_expression "uVar21 = uVar10 | uVar21" identifier = (binary_expression "uVar10 | uVar21" identifier | identifier)) ) (compound_statement "{\n                    psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                    uVar21 = uVar10 & 0xffffff80;\n                    uVar10 = (uint)*(char *)&psVar15->iVersion;\n                  }" { (expression_statement "psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);" (assignment_expression "psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1)" identifier = (cast_expression "(sqlite3_module *)((int)&psVar15->iVersion + 1)" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar15->iVersion + 1)" ( (binary_expression "(int)&psVar15->iVersion + 1" (cast_expression "(int)&psVar15->iVersion" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar15->iVersion" & (field_expression "psVar15->iVersion" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "uVar21 = uVar10 & 0xffffff80;" (assignment_expression "uVar21 = uVar10 & 0xffffff80" identifier = (binary_expression "uVar10 & 0xffffff80" identifier & number_literal)) ;) (expression_statement "uVar10 = (uint)*(char *)&psVar15->iVersion;" (assignment_expression "uVar10 = (uint)*(char *)&psVar15->iVersion" identifier = (binary_expression "(uint)*(char *)&psVar15->iVersion" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)&psVar15->iVersion" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar15->iVersion" & (field_expression "psVar15->iVersion" identifier -> field_identifier))))) ;) })) (if_statement "if (psVar15 < psVar31) {\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }" if (parenthesized_expression "(psVar15 < psVar31)" ( (binary_expression "psVar15 < psVar31" identifier < identifier) )) (compound_statement "{\nLAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;\n                    unaff_s7 = (Fts3Table *)0x2;\n                    unaff_s8 = (Fts3Table *)0xffffff80;\n                    pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                    pFStackY_a8 = pFVar29;\n                    do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);\n                  }" { (labeled_statement "LAB_0011e284:\n                    unaff_s4 = (Fts3Table *)&psStackY_88;" statement_identifier : (expression_statement "unaff_s4 = (Fts3Table *)&psStackY_88;" (assignment_expression "unaff_s4 = (Fts3Table *)&psStackY_88" identifier = (cast_expression "(Fts3Table *)&psStackY_88" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStackY_88" & identifier))) ;)) (expression_statement "unaff_s7 = (Fts3Table *)0x2;" (assignment_expression "unaff_s7 = (Fts3Table *)0x2" identifier = (cast_expression "(Fts3Table *)0x2" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s8 = (Fts3Table *)0xffffff80;" (assignment_expression "unaff_s8 = (Fts3Table *)0xffffff80" identifier = (cast_expression "(Fts3Table *)0xffffff80" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1);" (assignment_expression "pFVar18 = (Fts3Table *)((int)&psVar15->iVersion + 1)" identifier = (cast_expression "(Fts3Table *)((int)&psVar15->iVersion + 1)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar15->iVersion + 1)" ( (binary_expression "(int)&psVar15->iVersion + 1" (cast_expression "(int)&psVar15->iVersion" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar15->iVersion" & (field_expression "psVar15->iVersion" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pFStackY_a8 = pFVar29;" (assignment_expression "pFStackY_a8 = pFVar29" identifier = identifier) ;) (do_statement "do {\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    } while (psVar15 < psVar31);" do (compound_statement "{\n                      iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);\n                      psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);\n                      uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      uVar21 = uVar10;\n                      if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }\n                      for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }\n                      pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);\n                      pFVar18 = pFVar29;\n                    }" { (expression_statement "iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4);" (assignment_expression "iVar4 = (*pcStackY_f8)(pFVar18,unaff_s4)" identifier = (call_expression "(*pcStackY_f8)(pFVar18,unaff_s4)" (parenthesized_expression "(*pcStackY_f8)" ( (pointer_expression "*pcStackY_f8" * identifier) )) (argument_list "(pFVar18,unaff_s4)" ( identifier , identifier )))) ;) (expression_statement "psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38);" (assignment_expression "psVar15 = (sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38)" identifier = (cast_expression "(sqlite3_module *)((int)pFVar18->aStmt + iVar4 + -0x38)" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFVar18->aStmt + iVar4 + -0x38)" ( (binary_expression "(int)pFVar18->aStmt + iVar4 + -0x38" (binary_expression "(int)pFVar18->aStmt + iVar4" (cast_expression "(int)pFVar18->aStmt" ( (type_descriptor "int" primitive_type) ) (field_expression "pFVar18->aStmt" identifier -> field_identifier)) + identifier) + number_literal) )))) ;) (expression_statement "uVar10 = (uint)*(char *)&psVar15->iVersion;" (assignment_expression "uVar10 = (uint)*(char *)&psVar15->iVersion" identifier = (binary_expression "(uint)*(char *)&psVar15->iVersion" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)&psVar15->iVersion" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar15->iVersion" & (field_expression "psVar15->iVersion" identifier -> field_identifier))))) ;) (expression_statement "uVar21 = uVar10;" (assignment_expression "uVar21 = uVar10" identifier = identifier) ;) (if_statement "if (uVar10 == 2) {\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }" if (parenthesized_expression "(uVar10 == 2)" ( (binary_expression "uVar10 == 2" identifier == number_literal) )) (compound_statement "{\n                        pbVar23 = pbVar5 + (int)pbVar24;\n                        pFVar18 = pFStackY_e8;\n                        pFVar9 = pFStackY_a8;\n                        pbVar19 = pbVar23;\n                        if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }\n                        pbVar22 = pbVar24 + 1;\n                        *pbVar23 = 1;\n                        psVar12 = psStackY_84;\n                        psVar17 = psStackY_88;\n                        pbVar19 = pbVar5 + (int)pbVar22;\n                        do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);\n                        iStackY_e4 = 1;\n                        *pbVar24 = bVar1 & 0x7f;\n                        pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;\n                        pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                        uVar21 = uVar10;\n                      }" { (expression_statement "pbVar23 = pbVar5 + (int)pbVar24;" (assignment_expression "pbVar23 = pbVar5 + (int)pbVar24" identifier = (binary_expression "pbVar5 + (int)pbVar24" identifier + (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pFVar18 = pFStackY_e8;" (assignment_expression "pFVar18 = pFStackY_e8" identifier = identifier) ;) (expression_statement "pFVar9 = pFStackY_a8;" (assignment_expression "pFVar9 = pFStackY_a8" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar23;" (assignment_expression "pbVar19 = pbVar23" identifier = identifier) ;) (if_statement "if (iStackY_e4 == 0) {\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }" if (parenthesized_expression "(iStackY_e4 == 0)" ( (binary_expression "iStackY_e4 == 0" identifier == number_literal) )) (compound_statement "{\n                          do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);\n                          pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);\n                          *pbVar22 = bVar1 & 0x7f;\n                          pbVar23 = pbVar5 + (int)pbVar24;\n                        }" { (do_statement "do {\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          } while (pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0);" do (compound_statement "{\n                            pbVar22 = pbVar19;\n                            uVar10 = (int)pFVar9 << 0x19;\n                            pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);\n                            pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);\n                            bVar1 = (byte)pFVar18;\n                            *pbVar22 = bVar1 | 0x80;\n                            pFVar18 = pFVar29;\n                            pbVar19 = pbVar22 + 1;\n                          }" { (expression_statement "pbVar22 = pbVar19;" (assignment_expression "pbVar22 = pbVar19" identifier = identifier) ;) (expression_statement "uVar10 = (int)pFVar9 << 0x19;" (assignment_expression "uVar10 = (int)pFVar9 << 0x19" identifier = (binary_expression "(int)pFVar9 << 0x19" (cast_expression "(int)pFVar9" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7);" (assignment_expression "pFVar9 = (Fts3Table *)((uint)pFVar9 >> 7)" identifier = (cast_expression "(Fts3Table *)((uint)pFVar9 >> 7)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pFVar9 >> 7)" ( (binary_expression "(uint)pFVar9 >> 7" (cast_expression "(uint)pFVar9" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7);" (assignment_expression "pFVar29 = (Fts3Table *)(uVar10 | (uint)pFVar18 >> 7)" identifier = (cast_expression "(Fts3Table *)(uVar10 | (uint)pFVar18 >> 7)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 | (uint)pFVar18 >> 7)" ( (binary_expression "uVar10 | (uint)pFVar18 >> 7" identifier | (binary_expression "(uint)pFVar18 >> 7" (cast_expression "(uint)pFVar18" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "bVar1 = (byte)pFVar18;" (assignment_expression "bVar1 = (byte)pFVar18" identifier = (cast_expression "(byte)pFVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pbVar22 = bVar1 | 0x80;" (assignment_expression "*pbVar22 = bVar1 | 0x80" (pointer_expression "*pbVar22" * identifier) = (binary_expression "bVar1 | 0x80" identifier | number_literal)) ;) (expression_statement "pFVar18 = pFVar29;" (assignment_expression "pFVar18 = pFVar29" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar22 + 1;" (assignment_expression "pbVar19 = pbVar22 + 1" identifier = (binary_expression "pbVar22 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0)" ( (binary_expression "pFVar9 != (Fts3Table *)0x0 || pFVar29 != (Fts3Table *)0x0" (binary_expression "pFVar9 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "pFVar29 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) ;) (expression_statement "pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23);" (assignment_expression "pbVar24 = pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23)" identifier = (binary_expression "pbVar22 + 1 + ((int)pbVar24 - (int)pbVar23)" (binary_expression "pbVar22 + 1" identifier + number_literal) + (parenthesized_expression "((int)pbVar24 - (int)pbVar23)" ( (binary_expression "(int)pbVar24 - (int)pbVar23" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*pbVar22 = bVar1 & 0x7f;" (assignment_expression "*pbVar22 = bVar1 & 0x7f" (pointer_expression "*pbVar22" * identifier) = (binary_expression "bVar1 & 0x7f" identifier & number_literal)) ;) (expression_statement "pbVar23 = pbVar5 + (int)pbVar24;" (assignment_expression "pbVar23 = pbVar5 + (int)pbVar24" identifier = (binary_expression "pbVar5 + (int)pbVar24" identifier + (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "pbVar22 = pbVar24 + 1;" (assignment_expression "pbVar22 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar23 = 1;" (assignment_expression "*pbVar23 = 1" (pointer_expression "*pbVar23" * identifier) = number_literal) ;) (expression_statement "psVar12 = psStackY_84;" (assignment_expression "psVar12 = psStackY_84" identifier = identifier) ;) (expression_statement "psVar17 = psStackY_88;" (assignment_expression "psVar17 = psStackY_88" identifier = identifier) ;) (expression_statement "pbVar19 = pbVar5 + (int)pbVar22;" (assignment_expression "pbVar19 = pbVar5 + (int)pbVar22" identifier = (binary_expression "pbVar5 + (int)pbVar22" identifier + (cast_expression "(int)pbVar22" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (do_statement "do {\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        } while (psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0);" do (compound_statement "{\n                          pbVar24 = pbVar19;\n                          uVar10 = (int)psVar17 << 0x19;\n                          pbVar19 = pbVar24 + 1;\n                          psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);\n                          psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);\n                          bVar1 = (byte)psVar12;\n                          *pbVar24 = bVar1 | 0x80;\n                          psVar12 = psVar13;\n                        }" { (expression_statement "pbVar24 = pbVar19;" (assignment_expression "pbVar24 = pbVar19" identifier = identifier) ;) (expression_statement "uVar10 = (int)psVar17 << 0x19;" (assignment_expression "uVar10 = (int)psVar17 << 0x19" identifier = (binary_expression "(int)psVar17 << 0x19" (cast_expression "(int)psVar17" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pbVar19 = pbVar24 + 1;" (assignment_expression "pbVar19 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "psVar17 = (sqlite3_module *)((uint)psVar17 >> 7);" (assignment_expression "psVar17 = (sqlite3_module *)((uint)psVar17 >> 7)" identifier = (cast_expression "(sqlite3_module *)((uint)psVar17 >> 7)" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)psVar17 >> 7)" ( (binary_expression "(uint)psVar17 >> 7" (cast_expression "(uint)psVar17" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7);" (assignment_expression "psVar13 = (sqlite3 *)(uVar10 | (uint)psVar12 >> 7)" identifier = (cast_expression "(sqlite3 *)(uVar10 | (uint)psVar12 >> 7)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 | (uint)psVar12 >> 7)" ( (binary_expression "uVar10 | (uint)psVar12 >> 7" identifier | (binary_expression "(uint)psVar12 >> 7" (cast_expression "(uint)psVar12" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "bVar1 = (byte)psVar12;" (assignment_expression "bVar1 = (byte)psVar12" identifier = (cast_expression "(byte)psVar12" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pbVar24 = bVar1 | 0x80;" (assignment_expression "*pbVar24 = bVar1 | 0x80" (pointer_expression "*pbVar24" * identifier) = (binary_expression "bVar1 | 0x80" identifier | number_literal)) ;) (expression_statement "psVar12 = psVar13;" (assignment_expression "psVar12 = psVar13" identifier = identifier) ;) }) while (parenthesized_expression "(psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0)" ( (binary_expression "psVar17 != (sqlite3_module *)0x0 || psVar13 != (sqlite3 *)0x0" (binary_expression "psVar17 != (sqlite3_module *)0x0" identifier != (cast_expression "(sqlite3_module *)0x0" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "psVar13 != (sqlite3 *)0x0" identifier != (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) ;) (expression_statement "iStackY_e4 = 1;" (assignment_expression "iStackY_e4 = 1" identifier = number_literal) ;) (expression_statement "*pbVar24 = bVar1 & 0x7f;" (assignment_expression "*pbVar24 = bVar1 & 0x7f" (pointer_expression "*pbVar24" * identifier) = (binary_expression "bVar1 & 0x7f" identifier & number_literal)) ;) (expression_statement "pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1;" (assignment_expression "pbVar24 = pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1" identifier = (binary_expression "pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)) + 1" (binary_expression "pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22))" identifier + (parenthesized_expression "((int)pbVar22 - (int)(pbVar5 + (int)pbVar22))" ( (binary_expression "(int)pbVar22 - (int)(pbVar5 + (int)pbVar22)" (cast_expression "(int)pbVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(pbVar5 + (int)pbVar22)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar5 + (int)pbVar22)" ( (binary_expression "pbVar5 + (int)pbVar22" identifier + (cast_expression "(int)pbVar22" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))) + number_literal)) ;) (expression_statement "pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2;" (assignment_expression "pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))] = 2" (subscript_expression "pbVar5[(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))]" identifier [ (cast_expression "(int)(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22)))" ( (binary_expression "pbVar19 + ((int)pbVar22 - (int)(pbVar5 + (int)pbVar22))" identifier + (parenthesized_expression "((int)pbVar22 - (int)(pbVar5 + (int)pbVar22))" ( (binary_expression "(int)pbVar22 - (int)(pbVar5 + (int)pbVar22)" (cast_expression "(int)pbVar22" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(pbVar5 + (int)pbVar22)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar5 + (int)pbVar22)" ( (binary_expression "pbVar5 + (int)pbVar22" identifier + (cast_expression "(int)pbVar22" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))) ))) ]) = number_literal) ;) (expression_statement "uVar10 = (uint)*(char *)&psVar15->iVersion;" (assignment_expression "uVar10 = (uint)*(char *)&psVar15->iVersion" identifier = (binary_expression "(uint)*(char *)&psVar15->iVersion" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)&psVar15->iVersion" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar15->iVersion" & (field_expression "psVar15->iVersion" identifier -> field_identifier))))) ;) (expression_statement "uVar21 = uVar10;" (assignment_expression "uVar21 = uVar10" identifier = identifier) ;) })) (for_statement "for (; (uVar21 & 0xfe) != 0; uVar21 = uVar10 | uVar21) {\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }" for ( ; (binary_expression "(uVar21 & 0xfe) != 0" (parenthesized_expression "(uVar21 & 0xfe)" ( (binary_expression "uVar21 & 0xfe" identifier & number_literal) )) != number_literal) ; (assignment_expression "uVar21 = uVar10 | uVar21" identifier = (binary_expression "uVar10 | uVar21" identifier | identifier)) ) (compound_statement "{\n                        psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);\n                        uVar21 = uVar10 & 0xffffff80;\n                        uVar10 = (uint)*(char *)&psVar15->iVersion;\n                      }" { (expression_statement "psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1);" (assignment_expression "psVar15 = (sqlite3_module *)((int)&psVar15->iVersion + 1)" identifier = (cast_expression "(sqlite3_module *)((int)&psVar15->iVersion + 1)" ( (type_descriptor "sqlite3_module *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar15->iVersion + 1)" ( (binary_expression "(int)&psVar15->iVersion + 1" (cast_expression "(int)&psVar15->iVersion" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar15->iVersion" & (field_expression "psVar15->iVersion" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "uVar21 = uVar10 & 0xffffff80;" (assignment_expression "uVar21 = uVar10 & 0xffffff80" identifier = (binary_expression "uVar10 & 0xffffff80" identifier & number_literal)) ;) (expression_statement "uVar10 = (uint)*(char *)&psVar15->iVersion;" (assignment_expression "uVar10 = (uint)*(char *)&psVar15->iVersion" identifier = (binary_expression "(uint)*(char *)&psVar15->iVersion" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(char *)&psVar15->iVersion" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar15->iVersion" & (field_expression "psVar15->iVersion" identifier -> field_identifier))))) ;) })) (expression_statement "pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1);" (assignment_expression "pFVar29 = (Fts3Table *)((int)&psVar15->iVersion + 1)" identifier = (cast_expression "(Fts3Table *)((int)&psVar15->iVersion + 1)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar15->iVersion + 1)" ( (binary_expression "(int)&psVar15->iVersion + 1" (cast_expression "(int)&psVar15->iVersion" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar15->iVersion" & (field_expression "psVar15->iVersion" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pFVar18 = pFVar29;" (assignment_expression "pFVar18 = pFVar29" identifier = identifier) ;) }) while (parenthesized_expression "(psVar15 < psVar31)" ( (binary_expression "psVar15 < psVar31" identifier < identifier) )) ;) })) (if_statement "if (iStackY_e4 != 0) {\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }" if (parenthesized_expression "(iStackY_e4 != 0)" ( (binary_expression "iStackY_e4 != 0" identifier != number_literal) )) (compound_statement "{\n                    pbVar5 = pbStackY_ec + (int)pbVar24;\n                    pbVar24 = pbVar24 + 1;\n                    *pbVar5 = 0;\n                  }" { (expression_statement "pbVar5 = pbStackY_ec + (int)pbVar24;" (assignment_expression "pbVar5 = pbStackY_ec + (int)pbVar24" identifier = (binary_expression "pbStackY_ec + (int)pbVar24" identifier + (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pbVar24 = pbVar24 + 1;" (assignment_expression "pbVar24 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "*pbVar5 = 0;" (assignment_expression "*pbVar5 = 0" (pointer_expression "*pbVar5" * identifier) = number_literal) ;) })) (expression_statement "p = pFVar29;" (assignment_expression "p = pFVar29" identifier = identifier) ;) (expression_statement "pFVar9 = pFStackY_dc;" (assignment_expression "pFVar9 = pFStackY_dc" identifier = identifier) ;) (expression_statement "pFVar11 = pFStackY_d8;" (assignment_expression "pFVar11 = pFStackY_d8" identifier = identifier) ;) (if_statement "if (pbVar24 != (byte *)0x0) {\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }" if (parenthesized_expression "(pbVar24 != (byte *)0x0)" ( (binary_expression "pbVar24 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));\n                    pFVar9 = pFVar26;\n                    pFVar11 = (Fts3Table *)pReader;\n                  }" { (expression_statement "pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38));" (assignment_expression "pFStackY_f4 = (Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38))" identifier = (cast_expression "(Fts3Table *)((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38))" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38))" ( (binary_expression "(int)pFStackY_f4->aStmt + (int)(pbVar24 + -0x38)" (cast_expression "(int)pFStackY_f4->aStmt" ( (type_descriptor "int" primitive_type) ) (field_expression "pFStackY_f4->aStmt" identifier -> field_identifier)) + (cast_expression "(int)(pbVar24 + -0x38)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pbVar24 + -0x38)" ( (binary_expression "pbVar24 + -0x38" identifier + number_literal) )))) )))) ;) (expression_statement "pFVar9 = pFVar26;" (assignment_expression "pFVar9 = pFVar26" identifier = identifier) ;) (expression_statement "pFVar11 = (Fts3Table *)pReader;" (assignment_expression "pFVar11 = (Fts3Table *)pReader" identifier = (cast_expression "(Fts3Table *)pReader" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) }))) }))) })) (expression_statement "pFStackY_d8 = pFVar11;" (assignment_expression "pFStackY_d8 = pFVar11" identifier = identifier) ;) (expression_statement "pFStackY_dc = pFVar9;" (assignment_expression "pFStackY_dc = pFVar9" identifier = identifier) ;) (expression_statement "pReader = (Fts3SegReader *)pFStackY_f0;" (assignment_expression "pReader = (Fts3SegReader *)pFStackY_f0" identifier = (cast_expression "(Fts3SegReader *)pFStackY_f0" ( (type_descriptor "Fts3SegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "in_a3 = pFStackY_c4;" (assignment_expression "in_a3 = pFStackY_c4" identifier = identifier) ;) (expression_statement "(*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5);" (call_expression "(*pcStackY_c0)(pFStackY_f0,unaff_s6,unaff_s5)" (parenthesized_expression "(*pcStackY_c0)" ( (pointer_expression "*pcStackY_c0" * identifier) )) (argument_list "(pFStackY_f0,unaff_s6,unaff_s5)" ( identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "(((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=\n                   (_func_int_sqlite3_vtab_ptr_int *)0x0)" ( (binary_expression "((((Fts3Table *)pReader)->base).pModule)->xSavepoint !=\n                   (_func_int_sqlite3_vtab_ptr_int *)0x0" (field_expression "((((Fts3Table *)pReader)->base).pModule)->xSavepoint" (parenthesized_expression "((((Fts3Table *)pReader)->base).pModule)" ( (field_expression "(((Fts3Table *)pReader)->base).pModule" (parenthesized_expression "(((Fts3Table *)pReader)->base)" ( (field_expression "((Fts3Table *)pReader)->base" (parenthesized_expression "((Fts3Table *)pReader)" ( (cast_expression "(Fts3Table *)pReader" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) )) . field_identifier) )) -> field_identifier) != (cast_expression "(_func_int_sqlite3_vtab_ptr_int *)0x0" ( (type_descriptor "_func_int_sqlite3_vtab_ptr_int *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (0 < (int)pFStackY_f4) goto LAB_0011e6ac;" if (parenthesized_expression "(0 < (int)pFStackY_f4)" ( (binary_expression "0 < (int)pFStackY_f4" number_literal < (cast_expression "(int)pFStackY_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011e6ac;" goto statement_identifier ;)) })) (expression_statement "(pFStackY_e0->base).zErrMsg = unaff_s6;" (assignment_expression "(pFStackY_e0->base).zErrMsg = unaff_s6" (field_expression "(pFStackY_e0->base).zErrMsg" (parenthesized_expression "(pFStackY_e0->base)" ( (field_expression "pFStackY_e0->base" identifier -> field_identifier) )) . field_identifier) = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) }) (else_clause "else {\n    pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pFStackY_a0 != (Fts3Table *)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar4 = 0;\n  }" else (compound_statement "{\n    pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pFStackY_a0 != (Fts3Table *)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar4 = 0;\n  }" { (expression_statement "pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x2674);" (assignment_expression "pFStackY_c4 = (Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x2674)" identifier = (cast_expression "(Fts3Table *)(*(int *)(puVar32 + 0x3da38) + -0x2674)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x3da38) + -0x2674)" ( (binary_expression "*(int *)(puVar32 + 0x3da38) + -0x2674" (pointer_expression "*(int *)(puVar32 + 0x3da38)" * (cast_expression "(int *)(puVar32 + 0x3da38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3da38)" ( (binary_expression "puVar32 + 0x3da38" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (pFStackY_a0 != (Fts3Table *)0x0) goto LAB_0011dd08;" if (parenthesized_expression "(pFStackY_a0 != (Fts3Table *)0x0)" ( (binary_expression "pFStackY_a0 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0011dd08;" goto statement_identifier ;)) (labeled_statement "LAB_0011de08:\n    iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) }))) (labeled_statement "LAB_0011ddb4:\n  if (psStackY_7c == (sqlite3 *)*piStackY_98) {\n    return iVar4;\n  }" statement_identifier : (if_statement "if (psStackY_7c == (sqlite3 *)*piStackY_98) {\n    return iVar4;\n  }" if (parenthesized_expression "(psStackY_7c == (sqlite3 *)*piStackY_98)" ( (binary_expression "psStackY_7c == (sqlite3 *)*piStackY_98" identifier == (cast_expression "(sqlite3 *)*piStackY_98" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piStackY_98" * identifier))) )) (compound_statement "{\n    return iVar4;\n  }" { (return_statement "return iVar4;" return identifier ;) }))) (expression_statement "pcVar33 = *(code **)(puStackY_108 + -0x7ba0);" (assignment_expression "pcVar33 = *(code **)(puStackY_108 + -0x7ba0)" identifier = (pointer_expression "*(code **)(puStackY_108 + -0x7ba0)" * (cast_expression "(code **)(puStackY_108 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStackY_108 + -0x7ba0)" ( (binary_expression "puStackY_108 + -0x7ba0" identifier + number_literal) ))))) ;) (expression_statement "pcVar35 = fts3auxNextMethod;" (assignment_expression "pcVar35 = fts3auxNextMethod" identifier = identifier) ;) (expression_statement "psVar12 = psStackY_7c;" (assignment_expression "psVar12 = psStackY_7c" identifier = identifier) ;) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar25 = *(int **)(pcVar33 + 0x3d334);" (assignment_expression "piVar25 = *(int **)(pcVar33 + 0x3d334)" identifier = (pointer_expression "*(int **)(pcVar33 + 0x3d334)" * (cast_expression "(int **)(pcVar33 + 0x3d334)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x3d334)" ( (binary_expression "pcVar33 + 0x3d334" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = psVar12->nTotalChange;" (assignment_expression "iVar4 = psVar12->nTotalChange" identifier = (field_expression "psVar12->nTotalChange" identifier -> field_identifier)) ;) (expression_statement "uVar10 = psVar12->nChange + 1;" (assignment_expression "uVar10 = psVar12->nChange + 1" identifier = (binary_expression "psVar12->nChange + 1" (field_expression "psVar12->nChange" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pFVar18 = (Fts3Table *)psVar12->aLimit[0];" (assignment_expression "pFVar18 = (Fts3Table *)psVar12->aLimit[0]" identifier = (cast_expression "(Fts3Table *)psVar12->aLimit[0]" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar12->aLimit[0]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "iVar20 = iVar4 + 1;" (assignment_expression "iVar20 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "FStackY_150.pFilter = (Fts3SegFilter *)*piVar25;" (assignment_expression "FStackY_150.pFilter = (Fts3SegFilter *)*piVar25" (field_expression "FStackY_150.pFilter" identifier . field_identifier) = (cast_expression "(Fts3SegFilter *)*piVar25" ( (type_descriptor "Fts3SegFilter *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar25" * identifier))) ;) (expression_statement "pFVar9 = (Fts3Table *)psVar12->pVfs->pNext;" (assignment_expression "pFVar9 = (Fts3Table *)psVar12->pVfs->pNext" identifier = (cast_expression "(Fts3Table *)psVar12->pVfs->pNext" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar12->pVfs->pNext" (field_expression "psVar12->pVfs" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "psVar12->magic = (uint)(uVar10 < (uint)psVar12->nChange) + psVar12->magic;" (assignment_expression "psVar12->magic = (uint)(uVar10 < (uint)psVar12->nChange) + psVar12->magic" (field_expression "psVar12->magic" identifier -> field_identifier) = (binary_expression "(uint)(uVar10 < (uint)psVar12->nChange) + psVar12->magic" (call_expression "(uint)(uVar10 < (uint)psVar12->nChange)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar10 < (uint)psVar12->nChange)" ( (binary_expression "uVar10 < (uint)psVar12->nChange" identifier < (cast_expression "(uint)psVar12->nChange" ( (type_descriptor "uint" type_identifier) ) (field_expression "psVar12->nChange" identifier -> field_identifier))) ))) + (field_expression "psVar12->magic" identifier -> field_identifier))) ;) (expression_statement "psVar12->nChange = uVar10;" (assignment_expression "psVar12->nChange = uVar10" (field_expression "psVar12->nChange" identifier -> field_identifier) = identifier) ;) (expression_statement "psVar12->nTotalChange = iVar20;" (assignment_expression "psVar12->nTotalChange = iVar20" (field_expression "psVar12->nTotalChange" identifier -> field_identifier) = identifier) ;) (expression_statement "FStackY_150.aBuffer = (char *)pReader;" (assignment_expression "FStackY_150.aBuffer = (char *)pReader" (field_expression "FStackY_150.aBuffer" identifier . field_identifier) = (cast_expression "(char *)pReader" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "FStackY_150.nBuffer = (int)pFVar26;" (assignment_expression "FStackY_150.nBuffer = (int)pFVar26" (field_expression "FStackY_150.nBuffer" identifier . field_identifier) = (cast_expression "(int)pFVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "FStackY_150.iColFilter = (int)pFVar6;" (assignment_expression "FStackY_150.iColFilter = (int)pFVar6" (field_expression "FStackY_150.iColFilter" identifier . field_identifier) = (cast_expression "(int)pFVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "FStackY_150.bRestart = (int)pFVar29;" (assignment_expression "FStackY_150.bRestart = (int)pFVar29" (field_expression "FStackY_150.bRestart" identifier . field_identifier) = (cast_expression "(int)pFVar29" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "FStackY_150.nCost = (int)unaff_s4;" (assignment_expression "FStackY_150.nCost = (int)unaff_s4" (field_expression "FStackY_150.nCost" identifier . field_identifier) = (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "FStackY_150.bLookup = (int)unaff_s5;" (assignment_expression "FStackY_150.bLookup = (int)unaff_s5" (field_expression "FStackY_150.bLookup" identifier . field_identifier) = (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "FStackY_150.zTerm = unaff_s6;" (assignment_expression "FStackY_150.zTerm = unaff_s6" (field_expression "FStackY_150.zTerm" identifier . field_identifier) = identifier) ;) (expression_statement "FStackY_150.nTerm = (int)unaff_s7;" (assignment_expression "FStackY_150.nTerm = (int)unaff_s7" (field_expression "FStackY_150.nTerm" identifier . field_identifier) = (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "FStackY_150.aDoclist = (char *)unaff_s8;" (assignment_expression "FStackY_150.aDoclist = (char *)unaff_s8" (field_expression "FStackY_150.aDoclist" identifier . field_identifier) = (cast_expression "(char *)unaff_s8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "FStackY_150.nDoclist = (int)pcVar35;" (assignment_expression "FStackY_150.nDoclist = (int)pcVar35" (field_expression "FStackY_150.nDoclist" identifier . field_identifier) = (cast_expression "(int)pcVar35" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar20 < (int)pFVar18) {\n    pCsr = (Fts3MultiSegReader *)(iVar20 * 0x10);\n    piVar14 = (int *)((int)&pCsr->apSegment + psVar12->aLimit[1]);\n    iVar20 = *piVar14;\n    if (iVar20 < 1) {\n      if ((iVar20 == 0) && (piVar14[1] != 0)) {\n        iVar4 = 0;\n      }\n      else {\n        pFVar6 = (Fts3Table *)(iVar4 + 2);\n        iVar4 = (int)pCsr + psVar12->aLimit[1] + -0x10;\n        do {\n          psVar12->nTotalChange = (int)pFVar6;\n          if (pFVar6 == pFVar18) goto LAB_0011e7d4;\n          pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20);\n          pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1);\n          piVar14 = (int *)(iVar4 + 0x24);\n          iVar4 = iVar4 + 0x10;\n          if (0 < (int)pCsr) goto LAB_0011e880;\n        } while ((pCsr != (Fts3MultiSegReader *)0x0) || (*piVar14 == 0));\n        iVar4 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    pCsr = (Fts3MultiSegReader *)&psVar12->pVdbe;\n    iVar4 = sqlite3Fts3SegReaderStep(pFVar9,pCsr);\n    if (iVar4 != 100) {\n      psVar12->mTrace = '\0';\n      psVar12->noSharedCache = '\0';\n      psVar12->nSqlExec = '\0';\n      psVar12->field_0x5b = 1;\n      goto LAB_0011e884;\n    }\n    iVar4._0_2_ = psVar12->dbOptFlags;\n    iVar4._2_1_ = psVar12->enc;\n    iVar4._3_1_ = psVar12->autoCommit;\n    if (iVar4 != 0) {\n      pFVar26 = *(Fts3Table **)&psVar12->szMmap;\n      pFVar6 = *(Fts3Table **)&psVar12->temp_store;\n      pCsr = *(Fts3MultiSegReader **)((int)&psVar12->lastRowid + 4);\n      pFVar18 = pFVar26;\n      if ((int)pFVar6 < (int)pFVar26) {\n        pFVar18 = pFVar6;\n      }\n      iVar4 = (**(code **)(pcVar33 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && ((int)pFVar6 < (int)pFVar26)))) {\n        iVar4 = 0;\n        psVar12->mTrace = '\0';\n        psVar12->noSharedCache = '\0';\n        psVar12->nSqlExec = '\0';\n        psVar12->field_0x5b = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar4 = psVar12->aLimit[0];\n    uVar27 = psVar12->nSchemaLock;\n    iVar20 = (int)psVar12->szMmap;\n    if (iVar4 < 2) {\n      pFVar18 = (Fts3Table *)0x2;\n      pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1);\n      iVar4 = (*(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88))(psVar12->aLimit);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar4 = 7;\n        goto LAB_0011e884;\n      }\n      iVar4 = psVar12->aLimit[0];\n    }\n    pFVar18 = (Fts3Table *)(iVar4 << 4);\n    pCsr = (Fts3MultiSegReader *)0x0;\n    (**(code **)(pcVar33 + 0x3d2bc))(psVar12->aLimit[1]);\n    if (0 < (int)uVar27) {\n      FStackY_150.nSegment = 0;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x3cf64) + 0xf74);\n      FStackY_150.apSegment = (Fts3SegReader **)0x0;\n      iVar4 = (*pcVar35)(iVar20,&FStackY_150);\n      iVar30 = *(int *)(pcVar33 + 0x3d024);\nLAB_0011e97c:\n      piVar14 = (int *)psVar12->aLimit[1];\n      pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n      pFVar18 = (Fts3Table *)*piVar14;\n      pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n      piVar14[1] = (int)pCsr;\n      *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n      if (iVar4 < (int)uVar27) {\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        pCsr = &FStackY_150;\n        iVar34 = (*pcVar35)(iVar20 + iVar4);\n        iVar34 = iVar34 + iVar4;\n        if ((0 < (int)FStackY_150.apSegment) ||\n           ((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)))) {\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x14);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x14) = uVar21;\n          *(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10);\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x1c);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x1c) = uVar21;\n          *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n          iVar4 = psVar12->aLimit[1];\n          pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n          pFVar18 = *(Fts3Table **)(iVar4 + 8);\n          pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n          *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n          *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n          if (iVar34 < (int)uVar27) {\n            FStackY_150.nSegment = 0;\n            FStackY_150.apSegment = (Fts3SegReader **)0x0;\n            pCsr = &FStackY_150;\n            iVar28 = (*pcVar35)(iVar20 + iVar34);\n            iVar4 = 0x10;\n            iVar34 = iVar34 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (FStackY_150.apSegment != (Fts3SegReader **)0x0 || FStackY_150.nSegment != 0) {\n          if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)) {\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n        iVar4 = iVar34 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    psVar12->nTotalChange = 0;\n  }" if (parenthesized_expression "(iVar20 < (int)pFVar18)" ( (binary_expression "iVar20 < (int)pFVar18" identifier < (cast_expression "(int)pFVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    pCsr = (Fts3MultiSegReader *)(iVar20 * 0x10);\n    piVar14 = (int *)((int)&pCsr->apSegment + psVar12->aLimit[1]);\n    iVar20 = *piVar14;\n    if (iVar20 < 1) {\n      if ((iVar20 == 0) && (piVar14[1] != 0)) {\n        iVar4 = 0;\n      }\n      else {\n        pFVar6 = (Fts3Table *)(iVar4 + 2);\n        iVar4 = (int)pCsr + psVar12->aLimit[1] + -0x10;\n        do {\n          psVar12->nTotalChange = (int)pFVar6;\n          if (pFVar6 == pFVar18) goto LAB_0011e7d4;\n          pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20);\n          pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1);\n          piVar14 = (int *)(iVar4 + 0x24);\n          iVar4 = iVar4 + 0x10;\n          if (0 < (int)pCsr) goto LAB_0011e880;\n        } while ((pCsr != (Fts3MultiSegReader *)0x0) || (*piVar14 == 0));\n        iVar4 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }" { (expression_statement "pCsr = (Fts3MultiSegReader *)(iVar20 * 0x10);" (assignment_expression "pCsr = (Fts3MultiSegReader *)(iVar20 * 0x10)" identifier = (cast_expression "(Fts3MultiSegReader *)(iVar20 * 0x10)" ( (type_descriptor "Fts3MultiSegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 * 0x10)" ( (binary_expression "iVar20 * 0x10" identifier * number_literal) )))) ;) (expression_statement "piVar14 = (int *)((int)&pCsr->apSegment + psVar12->aLimit[1]);" (assignment_expression "piVar14 = (int *)((int)&pCsr->apSegment + psVar12->aLimit[1])" identifier = (cast_expression "(int *)((int)&pCsr->apSegment + psVar12->aLimit[1])" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pCsr->apSegment + psVar12->aLimit[1])" ( (binary_expression "(int)&pCsr->apSegment + psVar12->aLimit[1]" (cast_expression "(int)&pCsr->apSegment" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pCsr->apSegment" & (field_expression "pCsr->apSegment" identifier -> field_identifier))) + (subscript_expression "psVar12->aLimit[1]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ])) )))) ;) (expression_statement "iVar20 = *piVar14;" (assignment_expression "iVar20 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (if_statement "if (iVar20 < 1) {\n      if ((iVar20 == 0) && (piVar14[1] != 0)) {\n        iVar4 = 0;\n      }\n      else {\n        pFVar6 = (Fts3Table *)(iVar4 + 2);\n        iVar4 = (int)pCsr + psVar12->aLimit[1] + -0x10;\n        do {\n          psVar12->nTotalChange = (int)pFVar6;\n          if (pFVar6 == pFVar18) goto LAB_0011e7d4;\n          pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20);\n          pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1);\n          piVar14 = (int *)(iVar4 + 0x24);\n          iVar4 = iVar4 + 0x10;\n          if (0 < (int)pCsr) goto LAB_0011e880;\n        } while ((pCsr != (Fts3MultiSegReader *)0x0) || (*piVar14 == 0));\n        iVar4 = 0;\n      }\n      goto LAB_0011e884;\n    }" if (parenthesized_expression "(iVar20 < 1)" ( (binary_expression "iVar20 < 1" identifier < number_literal) )) (compound_statement "{\n      if ((iVar20 == 0) && (piVar14[1] != 0)) {\n        iVar4 = 0;\n      }\n      else {\n        pFVar6 = (Fts3Table *)(iVar4 + 2);\n        iVar4 = (int)pCsr + psVar12->aLimit[1] + -0x10;\n        do {\n          psVar12->nTotalChange = (int)pFVar6;\n          if (pFVar6 == pFVar18) goto LAB_0011e7d4;\n          pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20);\n          pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1);\n          piVar14 = (int *)(iVar4 + 0x24);\n          iVar4 = iVar4 + 0x10;\n          if (0 < (int)pCsr) goto LAB_0011e880;\n        } while ((pCsr != (Fts3MultiSegReader *)0x0) || (*piVar14 == 0));\n        iVar4 = 0;\n      }\n      goto LAB_0011e884;\n    }" { (if_statement "if ((iVar20 == 0) && (piVar14[1] != 0)) {\n        iVar4 = 0;\n      }\n      else {\n        pFVar6 = (Fts3Table *)(iVar4 + 2);\n        iVar4 = (int)pCsr + psVar12->aLimit[1] + -0x10;\n        do {\n          psVar12->nTotalChange = (int)pFVar6;\n          if (pFVar6 == pFVar18) goto LAB_0011e7d4;\n          pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20);\n          pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1);\n          piVar14 = (int *)(iVar4 + 0x24);\n          iVar4 = iVar4 + 0x10;\n          if (0 < (int)pCsr) goto LAB_0011e880;\n        } while ((pCsr != (Fts3MultiSegReader *)0x0) || (*piVar14 == 0));\n        iVar4 = 0;\n      }" if (parenthesized_expression "((iVar20 == 0) && (piVar14[1] != 0))" ( (binary_expression "(iVar20 == 0) && (piVar14[1] != 0)" (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) && (parenthesized_expression "(piVar14[1] != 0)" ( (binary_expression "piVar14[1] != 0" (subscript_expression "piVar14[1]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n        iVar4 = 0;\n      }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        pFVar6 = (Fts3Table *)(iVar4 + 2);\n        iVar4 = (int)pCsr + psVar12->aLimit[1] + -0x10;\n        do {\n          psVar12->nTotalChange = (int)pFVar6;\n          if (pFVar6 == pFVar18) goto LAB_0011e7d4;\n          pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20);\n          pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1);\n          piVar14 = (int *)(iVar4 + 0x24);\n          iVar4 = iVar4 + 0x10;\n          if (0 < (int)pCsr) goto LAB_0011e880;\n        } while ((pCsr != (Fts3MultiSegReader *)0x0) || (*piVar14 == 0));\n        iVar4 = 0;\n      }" else (compound_statement "{\n        pFVar6 = (Fts3Table *)(iVar4 + 2);\n        iVar4 = (int)pCsr + psVar12->aLimit[1] + -0x10;\n        do {\n          psVar12->nTotalChange = (int)pFVar6;\n          if (pFVar6 == pFVar18) goto LAB_0011e7d4;\n          pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20);\n          pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1);\n          piVar14 = (int *)(iVar4 + 0x24);\n          iVar4 = iVar4 + 0x10;\n          if (0 < (int)pCsr) goto LAB_0011e880;\n        } while ((pCsr != (Fts3MultiSegReader *)0x0) || (*piVar14 == 0));\n        iVar4 = 0;\n      }" { (expression_statement "pFVar6 = (Fts3Table *)(iVar4 + 2);" (assignment_expression "pFVar6 = (Fts3Table *)(iVar4 + 2)" identifier = (cast_expression "(Fts3Table *)(iVar4 + 2)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 2)" ( (binary_expression "iVar4 + 2" identifier + number_literal) )))) ;) (expression_statement "iVar4 = (int)pCsr + psVar12->aLimit[1] + -0x10;" (assignment_expression "iVar4 = (int)pCsr + psVar12->aLimit[1] + -0x10" identifier = (binary_expression "(int)pCsr + psVar12->aLimit[1] + -0x10" (binary_expression "(int)pCsr + psVar12->aLimit[1]" (cast_expression "(int)pCsr" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "psVar12->aLimit[1]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ])) + number_literal)) ;) (do_statement "do {\n          psVar12->nTotalChange = (int)pFVar6;\n          if (pFVar6 == pFVar18) goto LAB_0011e7d4;\n          pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20);\n          pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1);\n          piVar14 = (int *)(iVar4 + 0x24);\n          iVar4 = iVar4 + 0x10;\n          if (0 < (int)pCsr) goto LAB_0011e880;\n        } while ((pCsr != (Fts3MultiSegReader *)0x0) || (*piVar14 == 0));" do (compound_statement "{\n          psVar12->nTotalChange = (int)pFVar6;\n          if (pFVar6 == pFVar18) goto LAB_0011e7d4;\n          pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20);\n          pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1);\n          piVar14 = (int *)(iVar4 + 0x24);\n          iVar4 = iVar4 + 0x10;\n          if (0 < (int)pCsr) goto LAB_0011e880;\n        }" { (expression_statement "psVar12->nTotalChange = (int)pFVar6;" (assignment_expression "psVar12->nTotalChange = (int)pFVar6" (field_expression "psVar12->nTotalChange" identifier -> field_identifier) = (cast_expression "(int)pFVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pFVar6 == pFVar18) goto LAB_0011e7d4;" if (parenthesized_expression "(pFVar6 == pFVar18)" ( (binary_expression "pFVar6 == pFVar18" identifier == identifier) )) (goto_statement "goto LAB_0011e7d4;" goto statement_identifier ;)) (expression_statement "pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20);" (assignment_expression "pCsr = *(Fts3MultiSegReader **)(iVar4 + 0x20)" identifier = (pointer_expression "*(Fts3MultiSegReader **)(iVar4 + 0x20)" * (cast_expression "(Fts3MultiSegReader **)(iVar4 + 0x20)" ( (type_descriptor "Fts3MultiSegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x20)" ( (binary_expression "iVar4 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1);" (assignment_expression "pFVar6 = (Fts3Table *)((int)&(pFVar6->base).pModule + 1)" identifier = (cast_expression "(Fts3Table *)((int)&(pFVar6->base).pModule + 1)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pFVar6->base).pModule + 1)" ( (binary_expression "(int)&(pFVar6->base).pModule + 1" (cast_expression "(int)&(pFVar6->base).pModule" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pFVar6->base).pModule" & (field_expression "(pFVar6->base).pModule" (parenthesized_expression "(pFVar6->base)" ( (field_expression "pFVar6->base" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) ;) (expression_statement "piVar14 = (int *)(iVar4 + 0x24);" (assignment_expression "piVar14 = (int *)(iVar4 + 0x24)" identifier = (cast_expression "(int *)(iVar4 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x24)" ( (binary_expression "iVar4 + 0x24" identifier + number_literal) )))) ;) (expression_statement "iVar4 = iVar4 + 0x10;" (assignment_expression "iVar4 = iVar4 + 0x10" identifier = (binary_expression "iVar4 + 0x10" identifier + number_literal)) ;) (if_statement "if (0 < (int)pCsr) goto LAB_0011e880;" if (parenthesized_expression "(0 < (int)pCsr)" ( (binary_expression "0 < (int)pCsr" number_literal < (cast_expression "(int)pCsr" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011e880;" goto statement_identifier ;)) }) while (parenthesized_expression "((pCsr != (Fts3MultiSegReader *)0x0) || (*piVar14 == 0))" ( (binary_expression "(pCsr != (Fts3MultiSegReader *)0x0) || (*piVar14 == 0)" (parenthesized_expression "(pCsr != (Fts3MultiSegReader *)0x0)" ( (binary_expression "pCsr != (Fts3MultiSegReader *)0x0" identifier != (cast_expression "(Fts3MultiSegReader *)0x0" ( (type_descriptor "Fts3MultiSegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar14 == 0)" ( (binary_expression "*piVar14 == 0" (pointer_expression "*piVar14" * identifier) == number_literal) ))) )) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0011e884;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0011e7d4:\n    pCsr = (Fts3MultiSegReader *)&psVar12->pVdbe;\n    iVar4 = sqlite3Fts3SegReaderStep(pFVar9,pCsr);\n    if (iVar4 != 100) {\n      psVar12->mTrace = '\0';\n      psVar12->noSharedCache = '\0';\n      psVar12->nSqlExec = '\0';\n      psVar12->field_0x5b = 1;\n      goto LAB_0011e884;\n    }\n    iVar4._0_2_ = psVar12->dbOptFlags;\n    iVar4._2_1_ = psVar12->enc;\n    iVar4._3_1_ = psVar12->autoCommit;\n    if (iVar4 != 0) {\n      pFVar26 = *(Fts3Table **)&psVar12->szMmap;\n      pFVar6 = *(Fts3Table **)&psVar12->temp_store;\n      pCsr = *(Fts3MultiSegReader **)((int)&psVar12->lastRowid + 4);\n      pFVar18 = pFVar26;\n      if ((int)pFVar6 < (int)pFVar26) {\n        pFVar18 = pFVar6;\n      }\n      iVar4 = (**(code **)(pcVar33 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && ((int)pFVar6 < (int)pFVar26)))) {\n        iVar4 = 0;\n        psVar12->mTrace = '\0';\n        psVar12->noSharedCache = '\0';\n        psVar12->nSqlExec = '\0';\n        psVar12->field_0x5b = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar4 = psVar12->aLimit[0];\n    uVar27 = psVar12->nSchemaLock;\n    iVar20 = (int)psVar12->szMmap;\n    if (iVar4 < 2) {\n      pFVar18 = (Fts3Table *)0x2;\n      pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1);\n      iVar4 = (*(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88))(psVar12->aLimit);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar4 = 7;\n        goto LAB_0011e884;\n      }\n      iVar4 = psVar12->aLimit[0];\n    }\n    pFVar18 = (Fts3Table *)(iVar4 << 4);\n    pCsr = (Fts3MultiSegReader *)0x0;\n    (**(code **)(pcVar33 + 0x3d2bc))(psVar12->aLimit[1]);\n    if (0 < (int)uVar27) {\n      FStackY_150.nSegment = 0;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x3cf64) + 0xf74);\n      FStackY_150.apSegment = (Fts3SegReader **)0x0;\n      iVar4 = (*pcVar35)(iVar20,&FStackY_150);\n      iVar30 = *(int *)(pcVar33 + 0x3d024);\nLAB_0011e97c:\n      piVar14 = (int *)psVar12->aLimit[1];\n      pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n      pFVar18 = (Fts3Table *)*piVar14;\n      pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n      piVar14[1] = (int)pCsr;\n      *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n      if (iVar4 < (int)uVar27) {\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        pCsr = &FStackY_150;\n        iVar34 = (*pcVar35)(iVar20 + iVar4);\n        iVar34 = iVar34 + iVar4;\n        if ((0 < (int)FStackY_150.apSegment) ||\n           ((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)))) {\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x14);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x14) = uVar21;\n          *(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10);\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x1c);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x1c) = uVar21;\n          *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n          iVar4 = psVar12->aLimit[1];\n          pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n          pFVar18 = *(Fts3Table **)(iVar4 + 8);\n          pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n          *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n          *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n          if (iVar34 < (int)uVar27) {\n            FStackY_150.nSegment = 0;\n            FStackY_150.apSegment = (Fts3SegReader **)0x0;\n            pCsr = &FStackY_150;\n            iVar28 = (*pcVar35)(iVar20 + iVar34);\n            iVar4 = 0x10;\n            iVar34 = iVar34 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (FStackY_150.apSegment != (Fts3SegReader **)0x0 || FStackY_150.nSegment != 0) {\n          if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)) {\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n        iVar4 = iVar34 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    psVar12->nTotalChange = 0;\n  }" else (compound_statement "{\nLAB_0011e7d4:\n    pCsr = (Fts3MultiSegReader *)&psVar12->pVdbe;\n    iVar4 = sqlite3Fts3SegReaderStep(pFVar9,pCsr);\n    if (iVar4 != 100) {\n      psVar12->mTrace = '\0';\n      psVar12->noSharedCache = '\0';\n      psVar12->nSqlExec = '\0';\n      psVar12->field_0x5b = 1;\n      goto LAB_0011e884;\n    }\n    iVar4._0_2_ = psVar12->dbOptFlags;\n    iVar4._2_1_ = psVar12->enc;\n    iVar4._3_1_ = psVar12->autoCommit;\n    if (iVar4 != 0) {\n      pFVar26 = *(Fts3Table **)&psVar12->szMmap;\n      pFVar6 = *(Fts3Table **)&psVar12->temp_store;\n      pCsr = *(Fts3MultiSegReader **)((int)&psVar12->lastRowid + 4);\n      pFVar18 = pFVar26;\n      if ((int)pFVar6 < (int)pFVar26) {\n        pFVar18 = pFVar6;\n      }\n      iVar4 = (**(code **)(pcVar33 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && ((int)pFVar6 < (int)pFVar26)))) {\n        iVar4 = 0;\n        psVar12->mTrace = '\0';\n        psVar12->noSharedCache = '\0';\n        psVar12->nSqlExec = '\0';\n        psVar12->field_0x5b = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar4 = psVar12->aLimit[0];\n    uVar27 = psVar12->nSchemaLock;\n    iVar20 = (int)psVar12->szMmap;\n    if (iVar4 < 2) {\n      pFVar18 = (Fts3Table *)0x2;\n      pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1);\n      iVar4 = (*(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88))(psVar12->aLimit);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar4 = 7;\n        goto LAB_0011e884;\n      }\n      iVar4 = psVar12->aLimit[0];\n    }\n    pFVar18 = (Fts3Table *)(iVar4 << 4);\n    pCsr = (Fts3MultiSegReader *)0x0;\n    (**(code **)(pcVar33 + 0x3d2bc))(psVar12->aLimit[1]);\n    if (0 < (int)uVar27) {\n      FStackY_150.nSegment = 0;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x3cf64) + 0xf74);\n      FStackY_150.apSegment = (Fts3SegReader **)0x0;\n      iVar4 = (*pcVar35)(iVar20,&FStackY_150);\n      iVar30 = *(int *)(pcVar33 + 0x3d024);\nLAB_0011e97c:\n      piVar14 = (int *)psVar12->aLimit[1];\n      pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n      pFVar18 = (Fts3Table *)*piVar14;\n      pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n      piVar14[1] = (int)pCsr;\n      *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n      if (iVar4 < (int)uVar27) {\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        pCsr = &FStackY_150;\n        iVar34 = (*pcVar35)(iVar20 + iVar4);\n        iVar34 = iVar34 + iVar4;\n        if ((0 < (int)FStackY_150.apSegment) ||\n           ((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)))) {\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x14);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x14) = uVar21;\n          *(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10);\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x1c);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x1c) = uVar21;\n          *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n          iVar4 = psVar12->aLimit[1];\n          pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n          pFVar18 = *(Fts3Table **)(iVar4 + 8);\n          pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n          *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n          *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n          if (iVar34 < (int)uVar27) {\n            FStackY_150.nSegment = 0;\n            FStackY_150.apSegment = (Fts3SegReader **)0x0;\n            pCsr = &FStackY_150;\n            iVar28 = (*pcVar35)(iVar20 + iVar34);\n            iVar4 = 0x10;\n            iVar34 = iVar34 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (FStackY_150.apSegment != (Fts3SegReader **)0x0 || FStackY_150.nSegment != 0) {\n          if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)) {\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n        iVar4 = iVar34 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    psVar12->nTotalChange = 0;\n  }" { (labeled_statement "LAB_0011e7d4:\n    pCsr = (Fts3MultiSegReader *)&psVar12->pVdbe;" statement_identifier : (expression_statement "pCsr = (Fts3MultiSegReader *)&psVar12->pVdbe;" (assignment_expression "pCsr = (Fts3MultiSegReader *)&psVar12->pVdbe" identifier = (cast_expression "(Fts3MultiSegReader *)&psVar12->pVdbe" ( (type_descriptor "Fts3MultiSegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar12->pVdbe" & (field_expression "psVar12->pVdbe" identifier -> field_identifier)))) ;)) (expression_statement "iVar4 = sqlite3Fts3SegReaderStep(pFVar9,pCsr);" (assignment_expression "iVar4 = sqlite3Fts3SegReaderStep(pFVar9,pCsr)" identifier = (call_expression "sqlite3Fts3SegReaderStep(pFVar9,pCsr)" identifier (argument_list "(pFVar9,pCsr)" ( identifier , identifier )))) ;) (if_statement "if (iVar4 != 100) {\n      psVar12->mTrace = '\0';\n      psVar12->noSharedCache = '\0';\n      psVar12->nSqlExec = '\0';\n      psVar12->field_0x5b = 1;\n      goto LAB_0011e884;\n    }" if (parenthesized_expression "(iVar4 != 100)" ( (binary_expression "iVar4 != 100" identifier != number_literal) )) (compound_statement "{\n      psVar12->mTrace = '\0';\n      psVar12->noSharedCache = '\0';\n      psVar12->nSqlExec = '\0';\n      psVar12->field_0x5b = 1;\n      goto LAB_0011e884;\n    }" { (expression_statement "psVar12->mTrace = '\0';" (assignment_expression "psVar12->mTrace = '\0'" (field_expression "psVar12->mTrace" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar12->noSharedCache = '\0';" (assignment_expression "psVar12->noSharedCache = '\0'" (field_expression "psVar12->noSharedCache" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar12->nSqlExec = '\0';" (assignment_expression "psVar12->nSqlExec = '\0'" (field_expression "psVar12->nSqlExec" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar12->field_0x5b = 1;" (assignment_expression "psVar12->field_0x5b = 1" (field_expression "psVar12->field_0x5b" identifier -> field_identifier) = number_literal) ;) (goto_statement "goto LAB_0011e884;" goto statement_identifier ;) })) (expression_statement "iVar4._0_2_ = psVar12->dbOptFlags;" (assignment_expression "iVar4._0_2_ = psVar12->dbOptFlags" (field_expression "iVar4._0_2_" identifier . field_identifier) = (field_expression "psVar12->dbOptFlags" identifier -> field_identifier)) ;) (expression_statement "iVar4._2_1_ = psVar12->enc;" (assignment_expression "iVar4._2_1_ = psVar12->enc" (field_expression "iVar4._2_1_" identifier . field_identifier) = (field_expression "psVar12->enc" identifier -> field_identifier)) ;) (expression_statement "iVar4._3_1_ = psVar12->autoCommit;" (assignment_expression "iVar4._3_1_ = psVar12->autoCommit" (field_expression "iVar4._3_1_" identifier . field_identifier) = (field_expression "psVar12->autoCommit" identifier -> field_identifier)) ;) (if_statement "if (iVar4 != 0) {\n      pFVar26 = *(Fts3Table **)&psVar12->szMmap;\n      pFVar6 = *(Fts3Table **)&psVar12->temp_store;\n      pCsr = *(Fts3MultiSegReader **)((int)&psVar12->lastRowid + 4);\n      pFVar18 = pFVar26;\n      if ((int)pFVar6 < (int)pFVar26) {\n        pFVar18 = pFVar6;\n      }\n      iVar4 = (**(code **)(pcVar33 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && ((int)pFVar6 < (int)pFVar26)))) {\n        iVar4 = 0;\n        psVar12->mTrace = '\0';\n        psVar12->noSharedCache = '\0';\n        psVar12->nSqlExec = '\0';\n        psVar12->field_0x5b = 1;\n        goto LAB_0011e884;\n      }\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      pFVar26 = *(Fts3Table **)&psVar12->szMmap;\n      pFVar6 = *(Fts3Table **)&psVar12->temp_store;\n      pCsr = *(Fts3MultiSegReader **)((int)&psVar12->lastRowid + 4);\n      pFVar18 = pFVar26;\n      if ((int)pFVar6 < (int)pFVar26) {\n        pFVar18 = pFVar6;\n      }\n      iVar4 = (**(code **)(pcVar33 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && ((int)pFVar6 < (int)pFVar26)))) {\n        iVar4 = 0;\n        psVar12->mTrace = '\0';\n        psVar12->noSharedCache = '\0';\n        psVar12->nSqlExec = '\0';\n        psVar12->field_0x5b = 1;\n        goto LAB_0011e884;\n      }\n    }" { (expression_statement "pFVar26 = *(Fts3Table **)&psVar12->szMmap;" (assignment_expression "pFVar26 = *(Fts3Table **)&psVar12->szMmap" identifier = (pointer_expression "*(Fts3Table **)&psVar12->szMmap" * (cast_expression "(Fts3Table **)&psVar12->szMmap" ( (type_descriptor "Fts3Table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar12->szMmap" & (field_expression "psVar12->szMmap" identifier -> field_identifier))))) ;) (expression_statement "pFVar6 = *(Fts3Table **)&psVar12->temp_store;" (assignment_expression "pFVar6 = *(Fts3Table **)&psVar12->temp_store" identifier = (pointer_expression "*(Fts3Table **)&psVar12->temp_store" * (cast_expression "(Fts3Table **)&psVar12->temp_store" ( (type_descriptor "Fts3Table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psVar12->temp_store" & (field_expression "psVar12->temp_store" identifier -> field_identifier))))) ;) (expression_statement "pCsr = *(Fts3MultiSegReader **)((int)&psVar12->lastRowid + 4);" (assignment_expression "pCsr = *(Fts3MultiSegReader **)((int)&psVar12->lastRowid + 4)" identifier = (pointer_expression "*(Fts3MultiSegReader **)((int)&psVar12->lastRowid + 4)" * (cast_expression "(Fts3MultiSegReader **)((int)&psVar12->lastRowid + 4)" ( (type_descriptor "Fts3MultiSegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&psVar12->lastRowid + 4)" ( (binary_expression "(int)&psVar12->lastRowid + 4" (cast_expression "(int)&psVar12->lastRowid" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar12->lastRowid" & (field_expression "psVar12->lastRowid" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "pFVar18 = pFVar26;" (assignment_expression "pFVar18 = pFVar26" identifier = identifier) ;) (if_statement "if ((int)pFVar6 < (int)pFVar26) {\n        pFVar18 = pFVar6;\n      }" if (parenthesized_expression "((int)pFVar6 < (int)pFVar26)" ( (binary_expression "(int)pFVar6 < (int)pFVar26" (cast_expression "(int)pFVar6" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pFVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        pFVar18 = pFVar6;\n      }" { (expression_statement "pFVar18 = pFVar6;" (assignment_expression "pFVar18 = pFVar6" identifier = identifier) ;) })) (expression_statement "iVar4 = (**(code **)(pcVar33 + 0x3d324))();" (assignment_expression "iVar4 = (**(code **)(pcVar33 + 0x3d324))()" identifier = (call_expression "(**(code **)(pcVar33 + 0x3d324))()" (parenthesized_expression "(**(code **)(pcVar33 + 0x3d324))" ( (pointer_expression "**(code **)(pcVar33 + 0x3d324)" * (pointer_expression "*(code **)(pcVar33 + 0x3d324)" * (cast_expression "(code **)(pcVar33 + 0x3d324)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x3d324)" ( (binary_expression "pcVar33 + 0x3d324" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar4 < 0) || ((iVar4 == 0 && ((int)pFVar6 < (int)pFVar26)))) {\n        iVar4 = 0;\n        psVar12->mTrace = '\0';\n        psVar12->noSharedCache = '\0';\n        psVar12->nSqlExec = '\0';\n        psVar12->field_0x5b = 1;\n        goto LAB_0011e884;\n      }" if (parenthesized_expression "((iVar4 < 0) || ((iVar4 == 0 && ((int)pFVar6 < (int)pFVar26))))" ( (binary_expression "(iVar4 < 0) || ((iVar4 == 0 && ((int)pFVar6 < (int)pFVar26)))" (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar4 == 0 && ((int)pFVar6 < (int)pFVar26)))" ( (parenthesized_expression "(iVar4 == 0 && ((int)pFVar6 < (int)pFVar26))" ( (binary_expression "iVar4 == 0 && ((int)pFVar6 < (int)pFVar26)" (binary_expression "iVar4 == 0" identifier == number_literal) && (parenthesized_expression "((int)pFVar6 < (int)pFVar26)" ( (binary_expression "(int)pFVar6 < (int)pFVar26" (cast_expression "(int)pFVar6" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pFVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) ))) )) (compound_statement "{\n        iVar4 = 0;\n        psVar12->mTrace = '\0';\n        psVar12->noSharedCache = '\0';\n        psVar12->nSqlExec = '\0';\n        psVar12->field_0x5b = 1;\n        goto LAB_0011e884;\n      }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "psVar12->mTrace = '\0';" (assignment_expression "psVar12->mTrace = '\0'" (field_expression "psVar12->mTrace" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar12->noSharedCache = '\0';" (assignment_expression "psVar12->noSharedCache = '\0'" (field_expression "psVar12->noSharedCache" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar12->nSqlExec = '\0';" (assignment_expression "psVar12->nSqlExec = '\0'" (field_expression "psVar12->nSqlExec" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "psVar12->field_0x5b = 1;" (assignment_expression "psVar12->field_0x5b = 1" (field_expression "psVar12->field_0x5b" identifier -> field_identifier) = number_literal) ;) (goto_statement "goto LAB_0011e884;" goto statement_identifier ;) })) })) (expression_statement "iVar4 = psVar12->aLimit[0];" (assignment_expression "iVar4 = psVar12->aLimit[0]" identifier = (subscript_expression "psVar12->aLimit[0]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar27 = psVar12->nSchemaLock;" (assignment_expression "uVar27 = psVar12->nSchemaLock" identifier = (field_expression "psVar12->nSchemaLock" identifier -> field_identifier)) ;) (expression_statement "iVar20 = (int)psVar12->szMmap;" (assignment_expression "iVar20 = (int)psVar12->szMmap" identifier = (cast_expression "(int)psVar12->szMmap" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar12->szMmap" identifier -> field_identifier))) ;) (if_statement "if (iVar4 < 2) {\n      pFVar18 = (Fts3Table *)0x2;\n      pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1);\n      iVar4 = (*(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88))(psVar12->aLimit);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar4 = 7;\n        goto LAB_0011e884;\n      }\n      iVar4 = psVar12->aLimit[0];\n    }" if (parenthesized_expression "(iVar4 < 2)" ( (binary_expression "iVar4 < 2" identifier < number_literal) )) (compound_statement "{\n      pFVar18 = (Fts3Table *)0x2;\n      pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1);\n      iVar4 = (*(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88))(psVar12->aLimit);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar4 = 7;\n        goto LAB_0011e884;\n      }\n      iVar4 = psVar12->aLimit[0];\n    }" { (expression_statement "pFVar18 = (Fts3Table *)0x2;" (assignment_expression "pFVar18 = (Fts3Table *)0x2" identifier = (cast_expression "(Fts3Table *)0x2" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1);" (assignment_expression "pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1)" identifier = (cast_expression "(Fts3MultiSegReader *)(psVar12->aLimit + 1)" ( (type_descriptor "Fts3MultiSegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar12->aLimit + 1)" ( (binary_expression "psVar12->aLimit + 1" (field_expression "psVar12->aLimit" identifier -> field_identifier) + number_literal) )))) ;) (expression_statement "iVar4 = (*(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88))(psVar12->aLimit);" (assignment_expression "iVar4 = (*(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88))(psVar12->aLimit)" identifier = (call_expression "(*(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88))(psVar12->aLimit)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x3d024) + -0x5e88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x3d024) + -0x5e88)" ( (binary_expression "*(int *)(pcVar33 + 0x3d024) + -0x5e88" (pointer_expression "*(int *)(pcVar33 + 0x3d024)" * (cast_expression "(int *)(pcVar33 + 0x3d024)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x3d024)" ( (binary_expression "pcVar33 + 0x3d024" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar12->aLimit)" ( (field_expression "psVar12->aLimit" identifier -> field_identifier) )))) ;) (if_statement "if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar4 = 7;\n        goto LAB_0011e884;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0011ec20:\n        iVar4 = 7;\n        goto LAB_0011e884;\n      }" { (labeled_statement "LAB_0011ec20:\n        iVar4 = 7;" statement_identifier : (expression_statement "iVar4 = 7;" (assignment_expression "iVar4 = 7" identifier = number_literal) ;)) (goto_statement "goto LAB_0011e884;" goto statement_identifier ;) })) (expression_statement "iVar4 = psVar12->aLimit[0];" (assignment_expression "iVar4 = psVar12->aLimit[0]" identifier = (subscript_expression "psVar12->aLimit[0]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ])) ;) })) (expression_statement "pFVar18 = (Fts3Table *)(iVar4 << 4);" (assignment_expression "pFVar18 = (Fts3Table *)(iVar4 << 4)" identifier = (cast_expression "(Fts3Table *)(iVar4 << 4)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 << 4)" ( (binary_expression "iVar4 << 4" identifier << number_literal) )))) ;) (expression_statement "pCsr = (Fts3MultiSegReader *)0x0;" (assignment_expression "pCsr = (Fts3MultiSegReader *)0x0" identifier = (cast_expression "(Fts3MultiSegReader *)0x0" ( (type_descriptor "Fts3MultiSegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar33 + 0x3d2bc))(psVar12->aLimit[1]);" (call_expression "(**(code **)(pcVar33 + 0x3d2bc))(psVar12->aLimit[1])" (parenthesized_expression "(**(code **)(pcVar33 + 0x3d2bc))" ( (pointer_expression "**(code **)(pcVar33 + 0x3d2bc)" * (pointer_expression "*(code **)(pcVar33 + 0x3d2bc)" * (cast_expression "(code **)(pcVar33 + 0x3d2bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x3d2bc)" ( (binary_expression "pcVar33 + 0x3d2bc" identifier + number_literal) ))))) )) (argument_list "(psVar12->aLimit[1])" ( (subscript_expression "psVar12->aLimit[1]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ]) ))) ;) (if_statement "if (0 < (int)uVar27) {\n      FStackY_150.nSegment = 0;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x3cf64) + 0xf74);\n      FStackY_150.apSegment = (Fts3SegReader **)0x0;\n      iVar4 = (*pcVar35)(iVar20,&FStackY_150);\n      iVar30 = *(int *)(pcVar33 + 0x3d024);\nLAB_0011e97c:\n      piVar14 = (int *)psVar12->aLimit[1];\n      pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n      pFVar18 = (Fts3Table *)*piVar14;\n      pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n      piVar14[1] = (int)pCsr;\n      *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n      if (iVar4 < (int)uVar27) {\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        pCsr = &FStackY_150;\n        iVar34 = (*pcVar35)(iVar20 + iVar4);\n        iVar34 = iVar34 + iVar4;\n        if ((0 < (int)FStackY_150.apSegment) ||\n           ((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)))) {\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x14);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x14) = uVar21;\n          *(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10);\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x1c);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x1c) = uVar21;\n          *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n          iVar4 = psVar12->aLimit[1];\n          pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n          pFVar18 = *(Fts3Table **)(iVar4 + 8);\n          pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n          *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n          *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n          if (iVar34 < (int)uVar27) {\n            FStackY_150.nSegment = 0;\n            FStackY_150.apSegment = (Fts3SegReader **)0x0;\n            pCsr = &FStackY_150;\n            iVar28 = (*pcVar35)(iVar20 + iVar34);\n            iVar4 = 0x10;\n            iVar34 = iVar34 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (FStackY_150.apSegment != (Fts3SegReader **)0x0 || FStackY_150.nSegment != 0) {\n          if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)) {\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n        iVar4 = iVar34 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }" if (parenthesized_expression "(0 < (int)uVar27)" ( (binary_expression "0 < (int)uVar27" number_literal < (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      FStackY_150.nSegment = 0;\n      pcVar35 = (code *)(*(int *)(pcVar33 + 0x3cf64) + 0xf74);\n      FStackY_150.apSegment = (Fts3SegReader **)0x0;\n      iVar4 = (*pcVar35)(iVar20,&FStackY_150);\n      iVar30 = *(int *)(pcVar33 + 0x3d024);\nLAB_0011e97c:\n      piVar14 = (int *)psVar12->aLimit[1];\n      pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n      pFVar18 = (Fts3Table *)*piVar14;\n      pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n      piVar14[1] = (int)pCsr;\n      *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n      if (iVar4 < (int)uVar27) {\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        pCsr = &FStackY_150;\n        iVar34 = (*pcVar35)(iVar20 + iVar4);\n        iVar34 = iVar34 + iVar4;\n        if ((0 < (int)FStackY_150.apSegment) ||\n           ((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)))) {\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x14);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x14) = uVar21;\n          *(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10);\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x1c);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x1c) = uVar21;\n          *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n          iVar4 = psVar12->aLimit[1];\n          pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n          pFVar18 = *(Fts3Table **)(iVar4 + 8);\n          pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n          *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n          *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n          if (iVar34 < (int)uVar27) {\n            FStackY_150.nSegment = 0;\n            FStackY_150.apSegment = (Fts3SegReader **)0x0;\n            pCsr = &FStackY_150;\n            iVar28 = (*pcVar35)(iVar20 + iVar34);\n            iVar4 = 0x10;\n            iVar34 = iVar34 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (FStackY_150.apSegment != (Fts3SegReader **)0x0 || FStackY_150.nSegment != 0) {\n          if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)) {\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n        iVar4 = iVar34 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }" { (expression_statement "FStackY_150.nSegment = 0;" (assignment_expression "FStackY_150.nSegment = 0" (field_expression "FStackY_150.nSegment" identifier . field_identifier) = number_literal) ;) (expression_statement "pcVar35 = (code *)(*(int *)(pcVar33 + 0x3cf64) + 0xf74);" (assignment_expression "pcVar35 = (code *)(*(int *)(pcVar33 + 0x3cf64) + 0xf74)" identifier = (cast_expression "(code *)(*(int *)(pcVar33 + 0x3cf64) + 0xf74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x3cf64) + 0xf74)" ( (binary_expression "*(int *)(pcVar33 + 0x3cf64) + 0xf74" (pointer_expression "*(int *)(pcVar33 + 0x3cf64)" * (cast_expression "(int *)(pcVar33 + 0x3cf64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x3cf64)" ( (binary_expression "pcVar33 + 0x3cf64" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FStackY_150.apSegment = (Fts3SegReader **)0x0;" (assignment_expression "FStackY_150.apSegment = (Fts3SegReader **)0x0" (field_expression "FStackY_150.apSegment" identifier . field_identifier) = (cast_expression "(Fts3SegReader **)0x0" ( (type_descriptor "Fts3SegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar4 = (*pcVar35)(iVar20,&FStackY_150);" (assignment_expression "iVar4 = (*pcVar35)(iVar20,&FStackY_150)" identifier = (call_expression "(*pcVar35)(iVar20,&FStackY_150)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(iVar20,&FStackY_150)" ( identifier , (pointer_expression "&FStackY_150" & identifier) )))) ;) (expression_statement "iVar30 = *(int *)(pcVar33 + 0x3d024);" (assignment_expression "iVar30 = *(int *)(pcVar33 + 0x3d024)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x3d024)" * (cast_expression "(int *)(pcVar33 + 0x3d024)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x3d024)" ( (binary_expression "pcVar33 + 0x3d024" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0011e97c:\n      piVar14 = (int *)psVar12->aLimit[1];" statement_identifier : (expression_statement "piVar14 = (int *)psVar12->aLimit[1];" (assignment_expression "piVar14 = (int *)psVar12->aLimit[1]" identifier = (cast_expression "(int *)psVar12->aLimit[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar12->aLimit[1]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ]))) ;)) (expression_statement "pFVar7 = (Fts3MultiSegReader *)piVar14[1];" (assignment_expression "pFVar7 = (Fts3MultiSegReader *)piVar14[1]" identifier = (cast_expression "(Fts3MultiSegReader *)piVar14[1]" ( (type_descriptor "Fts3MultiSegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar14[1]" identifier [ number_literal ]))) ;) (expression_statement "pFVar18 = (Fts3Table *)*piVar14;" (assignment_expression "pFVar18 = (Fts3Table *)*piVar14" identifier = (cast_expression "(Fts3Table *)*piVar14" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar14" * identifier))) ;) (expression_statement "pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);" (assignment_expression "pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1)" identifier = (cast_expression "(Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1)" ( (type_descriptor "Fts3MultiSegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pFVar7->apSegment + 1)" ( (binary_expression "(int)&pFVar7->apSegment + 1" (cast_expression "(int)&pFVar7->apSegment" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar7->apSegment" & (field_expression "pFVar7->apSegment" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "piVar14[1] = (int)pCsr;" (assignment_expression "piVar14[1] = (int)pCsr" (subscript_expression "piVar14[1]" identifier [ number_literal ]) = (cast_expression "(int)pCsr" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);" (assignment_expression "*piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38)" (pointer_expression "*piVar14" * identifier) = (binary_expression "(int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38)" (cast_expression "(int)pFVar18->aStmt" ( (type_descriptor "int" primitive_type) ) (field_expression "pFVar18->aStmt" identifier -> field_identifier)) + (parenthesized_expression "((pCsr < pFVar7) - 0x38)" ( (binary_expression "(pCsr < pFVar7) - 0x38" (parenthesized_expression "(pCsr < pFVar7)" ( (binary_expression "pCsr < pFVar7" identifier < identifier) )) - number_literal) )))) ;) (if_statement "if (iVar4 < (int)uVar27) {\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        pCsr = &FStackY_150;\n        iVar34 = (*pcVar35)(iVar20 + iVar4);\n        iVar34 = iVar34 + iVar4;\n        if ((0 < (int)FStackY_150.apSegment) ||\n           ((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)))) {\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x14);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x14) = uVar21;\n          *(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10);\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x1c);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x1c) = uVar21;\n          *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n          iVar4 = psVar12->aLimit[1];\n          pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n          pFVar18 = *(Fts3Table **)(iVar4 + 8);\n          pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n          *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n          *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n          if (iVar34 < (int)uVar27) {\n            FStackY_150.nSegment = 0;\n            FStackY_150.apSegment = (Fts3SegReader **)0x0;\n            pCsr = &FStackY_150;\n            iVar28 = (*pcVar35)(iVar20 + iVar34);\n            iVar4 = 0x10;\n            iVar34 = iVar34 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (FStackY_150.apSegment != (Fts3SegReader **)0x0 || FStackY_150.nSegment != 0) {\n          if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)) {\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n        iVar4 = iVar34 + iVar4;\n        goto LAB_0011e97c;\n      }" if (parenthesized_expression "(iVar4 < (int)uVar27)" ( (binary_expression "iVar4 < (int)uVar27" identifier < (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        pCsr = &FStackY_150;\n        iVar34 = (*pcVar35)(iVar20 + iVar4);\n        iVar34 = iVar34 + iVar4;\n        if ((0 < (int)FStackY_150.apSegment) ||\n           ((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)))) {\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x14);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x14) = uVar21;\n          *(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10);\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x1c);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x1c) = uVar21;\n          *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n          iVar4 = psVar12->aLimit[1];\n          pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n          pFVar18 = *(Fts3Table **)(iVar4 + 8);\n          pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n          *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n          *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n          if (iVar34 < (int)uVar27) {\n            FStackY_150.nSegment = 0;\n            FStackY_150.apSegment = (Fts3SegReader **)0x0;\n            pCsr = &FStackY_150;\n            iVar28 = (*pcVar35)(iVar20 + iVar34);\n            iVar4 = 0x10;\n            iVar34 = iVar34 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (FStackY_150.apSegment != (Fts3SegReader **)0x0 || FStackY_150.nSegment != 0) {\n          if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)) {\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n        FStackY_150.nSegment = 0;\n        FStackY_150.apSegment = (Fts3SegReader **)0x0;\n        iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n        iVar4 = iVar34 + iVar4;\n        goto LAB_0011e97c;\n      }" { (expression_statement "FStackY_150.nSegment = 0;" (assignment_expression "FStackY_150.nSegment = 0" (field_expression "FStackY_150.nSegment" identifier . field_identifier) = number_literal) ;) (expression_statement "FStackY_150.apSegment = (Fts3SegReader **)0x0;" (assignment_expression "FStackY_150.apSegment = (Fts3SegReader **)0x0" (field_expression "FStackY_150.apSegment" identifier . field_identifier) = (cast_expression "(Fts3SegReader **)0x0" ( (type_descriptor "Fts3SegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pCsr = &FStackY_150;" (assignment_expression "pCsr = &FStackY_150" identifier = (pointer_expression "&FStackY_150" & identifier)) ;) (expression_statement "iVar34 = (*pcVar35)(iVar20 + iVar4);" (assignment_expression "iVar34 = (*pcVar35)(iVar20 + iVar4)" identifier = (call_expression "(*pcVar35)(iVar20 + iVar4)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(iVar20 + iVar4)" ( (binary_expression "iVar20 + iVar4" identifier + identifier) )))) ;) (expression_statement "iVar34 = iVar34 + iVar4;" (assignment_expression "iVar34 = iVar34 + iVar4" identifier = (binary_expression "iVar34 + iVar4" identifier + identifier)) ;) (if_statement "if ((0 < (int)FStackY_150.apSegment) ||\n           ((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)))) {\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x14);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x14) = uVar21;\n          *(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10);\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x1c);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x1c) = uVar21;\n          *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n          iVar4 = psVar12->aLimit[1];\n          pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n          pFVar18 = *(Fts3Table **)(iVar4 + 8);\n          pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n          *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n          *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n          if (iVar34 < (int)uVar27) {\n            FStackY_150.nSegment = 0;\n            FStackY_150.apSegment = (Fts3SegReader **)0x0;\n            pCsr = &FStackY_150;\n            iVar28 = (*pcVar35)(iVar20 + iVar34);\n            iVar4 = 0x10;\n            iVar34 = iVar34 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }" if (parenthesized_expression "((0 < (int)FStackY_150.apSegment) ||\n           ((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment))))" ( (binary_expression "(0 < (int)FStackY_150.apSegment) ||\n           ((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)))" (parenthesized_expression "(0 < (int)FStackY_150.apSegment)" ( (binary_expression "0 < (int)FStackY_150.apSegment" number_literal < (cast_expression "(int)FStackY_150.apSegment" ( (type_descriptor "int" primitive_type) ) (field_expression "FStackY_150.apSegment" identifier . field_identifier))) )) || (parenthesized_expression "((FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)))" ( (parenthesized_expression "(FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment))" ( (binary_expression "FStackY_150.apSegment == (Fts3SegReader **)0x0 && (1 < (uint)FStackY_150.nSegment)" (binary_expression "FStackY_150.apSegment == (Fts3SegReader **)0x0" (field_expression "FStackY_150.apSegment" identifier . field_identifier) == (cast_expression "(Fts3SegReader **)0x0" ( (type_descriptor "Fts3SegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) && (parenthesized_expression "(1 < (uint)FStackY_150.nSegment)" ( (binary_expression "1 < (uint)FStackY_150.nSegment" number_literal < (cast_expression "(uint)FStackY_150.nSegment" ( (type_descriptor "uint" type_identifier) ) (field_expression "FStackY_150.nSegment" identifier . field_identifier))) ))) )) ))) )) (compound_statement "{\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x14);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x14) = uVar21;\n          *(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10);\n          iVar4 = psVar12->aLimit[1];\n          uVar10 = *(uint *)(iVar4 + 0x1c);\n          uVar21 = uVar10 + 1;\n          *(uint *)(iVar4 + 0x1c) = uVar21;\n          *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n          iVar4 = psVar12->aLimit[1];\n          pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n          pFVar18 = *(Fts3Table **)(iVar4 + 8);\n          pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n          *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n          *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n          if (iVar34 < (int)uVar27) {\n            FStackY_150.nSegment = 0;\n            FStackY_150.apSegment = (Fts3SegReader **)0x0;\n            pCsr = &FStackY_150;\n            iVar28 = (*pcVar35)(iVar20 + iVar34);\n            iVar4 = 0x10;\n            iVar34 = iVar34 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }" { (expression_statement "iVar4 = psVar12->aLimit[1];" (assignment_expression "iVar4 = psVar12->aLimit[1]" identifier = (subscript_expression "psVar12->aLimit[1]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar10 = *(uint *)(iVar4 + 0x14);" (assignment_expression "uVar10 = *(uint *)(iVar4 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar4 + 0x14)" * (cast_expression "(uint *)(iVar4 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar21 = uVar10 + 1;" (assignment_expression "uVar21 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar4 + 0x14) = uVar21;" (assignment_expression "*(uint *)(iVar4 + 0x14) = uVar21" (pointer_expression "*(uint *)(iVar4 + 0x14)" * (cast_expression "(uint *)(iVar4 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10);" (assignment_expression "*(uint *)(iVar4 + 0x10) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10)" (pointer_expression "*(uint *)(iVar4 + 0x10)" * (cast_expression "(uint *)(iVar4 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))) = (binary_expression "(uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x10)" (call_expression "(uint)(uVar21 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 < uVar10)" ( (binary_expression "uVar21 < uVar10" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar4 + 0x10)" * (cast_expression "(int *)(iVar4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "iVar4 = psVar12->aLimit[1];" (assignment_expression "iVar4 = psVar12->aLimit[1]" identifier = (subscript_expression "psVar12->aLimit[1]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar10 = *(uint *)(iVar4 + 0x1c);" (assignment_expression "uVar10 = *(uint *)(iVar4 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar4 + 0x1c)" * (cast_expression "(uint *)(iVar4 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar21 = uVar10 + 1;" (assignment_expression "uVar21 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar4 + 0x1c) = uVar21;" (assignment_expression "*(uint *)(iVar4 + 0x1c) = uVar21" (pointer_expression "*(uint *)(iVar4 + 0x1c)" * (cast_expression "(uint *)(iVar4 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);" (assignment_expression "*(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18)" (pointer_expression "*(uint *)(iVar4 + 0x18)" * (cast_expression "(uint *)(iVar4 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x18)" ( (binary_expression "iVar4 + 0x18" identifier + number_literal) )))) = (binary_expression "(uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18)" (call_expression "(uint)(uVar21 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 < uVar10)" ( (binary_expression "uVar21 < uVar10" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar4 + 0x18)" * (cast_expression "(int *)(iVar4 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x18)" ( (binary_expression "iVar4 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "iVar4 = psVar12->aLimit[1];" (assignment_expression "iVar4 = psVar12->aLimit[1]" identifier = (subscript_expression "psVar12->aLimit[1]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);" (assignment_expression "pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc)" identifier = (pointer_expression "*(Fts3MultiSegReader **)(iVar4 + 0xc)" * (cast_expression "(Fts3MultiSegReader **)(iVar4 + 0xc)" ( (type_descriptor "Fts3MultiSegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pFVar18 = *(Fts3Table **)(iVar4 + 8);" (assignment_expression "pFVar18 = *(Fts3Table **)(iVar4 + 8)" identifier = (pointer_expression "*(Fts3Table **)(iVar4 + 8)" * (cast_expression "(Fts3Table **)(iVar4 + 8)" ( (type_descriptor "Fts3Table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);" (assignment_expression "pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1)" identifier = (cast_expression "(Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1)" ( (type_descriptor "Fts3MultiSegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pFVar7->apSegment + 1)" ( (binary_expression "(int)&pFVar7->apSegment + 1" (cast_expression "(int)&pFVar7->apSegment" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar7->apSegment" & (field_expression "pFVar7->apSegment" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;" (assignment_expression "*(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr" (pointer_expression "*(Fts3MultiSegReader **)(iVar4 + 0xc)" * (cast_expression "(Fts3MultiSegReader **)(iVar4 + 0xc)" ( (type_descriptor "Fts3MultiSegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);" (assignment_expression "*(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38)" (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = (binary_expression "(int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38)" (cast_expression "(int)pFVar18->aStmt" ( (type_descriptor "int" primitive_type) ) (field_expression "pFVar18->aStmt" identifier -> field_identifier)) + (parenthesized_expression "((pCsr < pFVar7) - 0x38)" ( (binary_expression "(pCsr < pFVar7) - 0x38" (parenthesized_expression "(pCsr < pFVar7)" ( (binary_expression "pCsr < pFVar7" identifier < identifier) )) - number_literal) )))) ;) (if_statement "if (iVar34 < (int)uVar27) {\n            FStackY_150.nSegment = 0;\n            FStackY_150.apSegment = (Fts3SegReader **)0x0;\n            pCsr = &FStackY_150;\n            iVar28 = (*pcVar35)(iVar20 + iVar34);\n            iVar4 = 0x10;\n            iVar34 = iVar34 + iVar28;\n            goto LAB_0011eaec;\n          }" if (parenthesized_expression "(iVar34 < (int)uVar27)" ( (binary_expression "iVar34 < (int)uVar27" identifier < (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            FStackY_150.nSegment = 0;\n            FStackY_150.apSegment = (Fts3SegReader **)0x0;\n            pCsr = &FStackY_150;\n            iVar28 = (*pcVar35)(iVar20 + iVar34);\n            iVar4 = 0x10;\n            iVar34 = iVar34 + iVar28;\n            goto LAB_0011eaec;\n          }" { (expression_statement "FStackY_150.nSegment = 0;" (assignment_expression "FStackY_150.nSegment = 0" (field_expression "FStackY_150.nSegment" identifier . field_identifier) = number_literal) ;) (expression_statement "FStackY_150.apSegment = (Fts3SegReader **)0x0;" (assignment_expression "FStackY_150.apSegment = (Fts3SegReader **)0x0" (field_expression "FStackY_150.apSegment" identifier . field_identifier) = (cast_expression "(Fts3SegReader **)0x0" ( (type_descriptor "Fts3SegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pCsr = &FStackY_150;" (assignment_expression "pCsr = &FStackY_150" identifier = (pointer_expression "&FStackY_150" & identifier)) ;) (expression_statement "iVar28 = (*pcVar35)(iVar20 + iVar34);" (assignment_expression "iVar28 = (*pcVar35)(iVar20 + iVar34)" identifier = (call_expression "(*pcVar35)(iVar20 + iVar34)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(iVar20 + iVar34)" ( (binary_expression "iVar20 + iVar34" identifier + identifier) )))) ;) (expression_statement "iVar4 = 0x10;" (assignment_expression "iVar4 = 0x10" identifier = number_literal) ;) (expression_statement "iVar34 = iVar34 + iVar28;" (assignment_expression "iVar34 = iVar34 + iVar28" identifier = (binary_expression "iVar34 + iVar28" identifier + identifier)) ;) (goto_statement "goto LAB_0011eaec;" goto statement_identifier ;) })) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;) })) (if_statement "if (FStackY_150.apSegment != (Fts3SegReader **)0x0 || FStackY_150.nSegment != 0) {\n          if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)) {\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }" if (parenthesized_expression "(FStackY_150.apSegment != (Fts3SegReader **)0x0 || FStackY_150.nSegment != 0)" ( (binary_expression "FStackY_150.apSegment != (Fts3SegReader **)0x0 || FStackY_150.nSegment != 0" (binary_expression "FStackY_150.apSegment != (Fts3SegReader **)0x0" (field_expression "FStackY_150.apSegment" identifier . field_identifier) != (cast_expression "(Fts3SegReader **)0x0" ( (type_descriptor "Fts3SegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) || (binary_expression "FStackY_150.nSegment != 0" (field_expression "FStackY_150.nSegment" identifier . field_identifier) != number_literal)) )) (compound_statement "{\n          if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)) {\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }" { (if_statement "if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)) {\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }" if (parenthesized_expression "((FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1))" ( (binary_expression "(FStackY_150.apSegment == (Fts3SegReader **)0x0) && (FStackY_150.nSegment == 1)" (parenthesized_expression "(FStackY_150.apSegment == (Fts3SegReader **)0x0)" ( (binary_expression "FStackY_150.apSegment == (Fts3SegReader **)0x0" (field_expression "FStackY_150.apSegment" identifier . field_identifier) == (cast_expression "(Fts3SegReader **)0x0" ( (type_descriptor "Fts3SegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "(FStackY_150.nSegment == 1)" ( (binary_expression "FStackY_150.nSegment == 1" (field_expression "FStackY_150.nSegment" identifier . field_identifier) == number_literal) ))) )) (compound_statement "{\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }\n          }" { (if_statement "if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }" if (parenthesized_expression "(iVar34 < (int)uVar27)" ( (binary_expression "iVar34 < (int)uVar27" identifier < (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n              iVar34 = iVar34 + iVar4;\n              while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }\n              goto LAB_0011ec20;\n            }" { (expression_statement "FStackY_150.nSegment = 0;" (assignment_expression "FStackY_150.nSegment = 0" (field_expression "FStackY_150.nSegment" identifier . field_identifier) = number_literal) ;) (expression_statement "FStackY_150.apSegment = (Fts3SegReader **)0x0;" (assignment_expression "FStackY_150.apSegment = (Fts3SegReader **)0x0" (field_expression "FStackY_150.apSegment" identifier . field_identifier) = (cast_expression "(Fts3SegReader **)0x0" ( (type_descriptor "Fts3SegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);" (assignment_expression "iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150)" identifier = (call_expression "(*pcVar35)(iVar20 + iVar34,&FStackY_150)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(iVar20 + iVar34,&FStackY_150)" ( (binary_expression "iVar20 + iVar34" identifier + identifier) , (pointer_expression "&FStackY_150" & identifier) )))) ;) (expression_statement "iVar34 = iVar34 + iVar4;" (assignment_expression "iVar34 = iVar34 + iVar4" identifier = (binary_expression "iVar34 + iVar4" identifier + identifier)) ;) (while_statement "while ((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))) {\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }" while (parenthesized_expression "((iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0)))" ( (parenthesized_expression "(iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0))" ( (comma_expression "iVar4 = FStackY_150.nSegment,\n                     pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0)" (assignment_expression "iVar4 = FStackY_150.nSegment" identifier = (field_expression "FStackY_150.nSegment" identifier . field_identifier)) , (comma_expression "pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2),\n                     (int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0)" (assignment_expression "pFVar18 = (Fts3Table *)(FStackY_150.nSegment + 2)" identifier = (cast_expression "(Fts3Table *)(FStackY_150.nSegment + 2)" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(FStackY_150.nSegment + 2)" ( (binary_expression "FStackY_150.nSegment + 2" (field_expression "FStackY_150.nSegment" identifier . field_identifier) + number_literal) )))) , (binary_expression "(int)pFVar18 <= psVar12->aLimit[0] ||\n                     (pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0)" (binary_expression "(int)pFVar18 <= psVar12->aLimit[0]" (cast_expression "(int)pFVar18" ( (type_descriptor "int" primitive_type) ) identifier) <= (subscript_expression "psVar12->aLimit[0]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ])) || (parenthesized_expression "(pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0)" ( (comma_expression "pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1),\n                     iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0" (assignment_expression "pCsr = (Fts3MultiSegReader *)(psVar12->aLimit + 1)" identifier = (cast_expression "(Fts3MultiSegReader *)(psVar12->aLimit + 1)" ( (type_descriptor "Fts3MultiSegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar12->aLimit + 1)" ( (binary_expression "psVar12->aLimit + 1" (field_expression "psVar12->aLimit" identifier -> field_identifier) + number_literal) )))) , (comma_expression "iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit), iVar28 == 0" (assignment_expression "iVar28 = (*(code *)(iVar30 + -0x5e88))(psVar12->aLimit)" identifier = (call_expression "(*(code *)(iVar30 + -0x5e88))(psVar12->aLimit)" (parenthesized_expression "(*(code *)(iVar30 + -0x5e88))" ( (pointer_expression "*(code *)(iVar30 + -0x5e88)" * (cast_expression "(code *)(iVar30 + -0x5e88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + -0x5e88)" ( (binary_expression "iVar30 + -0x5e88" identifier + number_literal) )))) )) (argument_list "(psVar12->aLimit)" ( (field_expression "psVar12->aLimit" identifier -> field_identifier) )))) , (binary_expression "iVar28 == 0" identifier == number_literal))) ))))) )) )) (compound_statement "{\n                iVar4 = (iVar4 + 1U) * 0x10;\n                piVar14 = (int *)(psVar12->aLimit[1] + iVar4);\n                pFVar7 = (Fts3MultiSegReader *)piVar14[1];\n                pFVar18 = (Fts3Table *)*piVar14;\n                pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                piVar14[1] = (int)pCsr;\n                *piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }\n                if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                FStackY_150.nSegment = 0;\n                FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                iVar34 = iVar4 + iVar34;\n              }" { (expression_statement "iVar4 = (iVar4 + 1U) * 0x10;" (assignment_expression "iVar4 = (iVar4 + 1U) * 0x10" identifier = (binary_expression "(iVar4 + 1U) * 0x10" (parenthesized_expression "(iVar4 + 1U)" ( (binary_expression "iVar4 + 1U" identifier + number_literal) )) * number_literal)) ;) (expression_statement "piVar14 = (int *)(psVar12->aLimit[1] + iVar4);" (assignment_expression "piVar14 = (int *)(psVar12->aLimit[1] + iVar4)" identifier = (cast_expression "(int *)(psVar12->aLimit[1] + iVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar12->aLimit[1] + iVar4)" ( (binary_expression "psVar12->aLimit[1] + iVar4" (subscript_expression "psVar12->aLimit[1]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ]) + identifier) )))) ;) (expression_statement "pFVar7 = (Fts3MultiSegReader *)piVar14[1];" (assignment_expression "pFVar7 = (Fts3MultiSegReader *)piVar14[1]" identifier = (cast_expression "(Fts3MultiSegReader *)piVar14[1]" ( (type_descriptor "Fts3MultiSegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar14[1]" identifier [ number_literal ]))) ;) (expression_statement "pFVar18 = (Fts3Table *)*piVar14;" (assignment_expression "pFVar18 = (Fts3Table *)*piVar14" identifier = (cast_expression "(Fts3Table *)*piVar14" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar14" * identifier))) ;) (expression_statement "pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);" (assignment_expression "pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1)" identifier = (cast_expression "(Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1)" ( (type_descriptor "Fts3MultiSegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pFVar7->apSegment + 1)" ( (binary_expression "(int)&pFVar7->apSegment + 1" (cast_expression "(int)&pFVar7->apSegment" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar7->apSegment" & (field_expression "pFVar7->apSegment" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "piVar14[1] = (int)pCsr;" (assignment_expression "piVar14[1] = (int)pCsr" (subscript_expression "piVar14[1]" identifier [ number_literal ]) = (cast_expression "(int)pCsr" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);" (assignment_expression "*piVar14 = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38)" (pointer_expression "*piVar14" * identifier) = (binary_expression "(int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38)" (cast_expression "(int)pFVar18->aStmt" ( (type_descriptor "int" primitive_type) ) (field_expression "pFVar18->aStmt" identifier -> field_identifier)) + (parenthesized_expression "((pCsr < pFVar7) - 0x38)" ( (binary_expression "(pCsr < pFVar7) - 0x38" (parenthesized_expression "(pCsr < pFVar7)" ( (binary_expression "pCsr < pFVar7" identifier < identifier) )) - number_literal) )))) ;) (while_statement "while( true ) {\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                  FStackY_150.nSegment = 0;\n                  FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                  pCsr = &FStackY_150;\n                  iVar28 = (*pcVar35)(iVar20 + iVar34);\n                  iVar34 = iVar34 + iVar28;\nLAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }\n                  if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;\n                  iVar28 = psVar12->aLimit[1] + iVar4;\n                  uVar10 = *(uint *)(iVar28 + 0xc);\n                  uVar21 = uVar10 + 1;\n                  *(uint *)(iVar28 + 0xc) = uVar21;\n                  *(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);\n                  iVar28 = psVar12->aLimit[1];\n                  pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);\n                  pFVar18 = *(Fts3Table **)(iVar28 + 8);\n                  pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n                  *(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;\n                  *(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n                }" { (if_statement "if ((int)uVar27 <= iVar34) goto LAB_0011e87c;" if (parenthesized_expression "((int)uVar27 <= iVar34)" ( (binary_expression "(int)uVar27 <= iVar34" (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;)) (expression_statement "FStackY_150.nSegment = 0;" (assignment_expression "FStackY_150.nSegment = 0" (field_expression "FStackY_150.nSegment" identifier . field_identifier) = number_literal) ;) (expression_statement "FStackY_150.apSegment = (Fts3SegReader **)0x0;" (assignment_expression "FStackY_150.apSegment = (Fts3SegReader **)0x0" (field_expression "FStackY_150.apSegment" identifier . field_identifier) = (cast_expression "(Fts3SegReader **)0x0" ( (type_descriptor "Fts3SegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pCsr = &FStackY_150;" (assignment_expression "pCsr = &FStackY_150" identifier = (pointer_expression "&FStackY_150" & identifier)) ;) (expression_statement "iVar28 = (*pcVar35)(iVar20 + iVar34);" (assignment_expression "iVar28 = (*pcVar35)(iVar20 + iVar34)" identifier = (call_expression "(*pcVar35)(iVar20 + iVar34)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(iVar20 + iVar34)" ( (binary_expression "iVar20 + iVar34" identifier + identifier) )))) ;) (expression_statement "iVar34 = iVar34 + iVar28;" (assignment_expression "iVar34 = iVar34 + iVar28" identifier = (binary_expression "iVar34 + iVar28" identifier + identifier)) ;) (labeled_statement "LAB_0011eaec:\n                  if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }" statement_identifier : (if_statement "if (FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0) {\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }" if (parenthesized_expression "(FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0)" ( (binary_expression "FStackY_150.apSegment == (Fts3SegReader **)0x0 && FStackY_150.nSegment == 0" (binary_expression "FStackY_150.apSegment == (Fts3SegReader **)0x0" (field_expression "FStackY_150.apSegment" identifier . field_identifier) == (cast_expression "(Fts3SegReader **)0x0" ( (type_descriptor "Fts3SegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) && (binary_expression "FStackY_150.nSegment == 0" (field_expression "FStackY_150.nSegment" identifier . field_identifier) == number_literal)) )) (compound_statement "{\n                    if ((int)uVar27 <= iVar34) goto LAB_0011e87c;\n                    FStackY_150.nSegment = 0;\n                    FStackY_150.apSegment = (Fts3SegReader **)0x0;\n                    iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);\n                    iVar4 = iVar4 + iVar34;\n                    goto LAB_0011e97c;\n                  }" { (if_statement "if ((int)uVar27 <= iVar34) goto LAB_0011e87c;" if (parenthesized_expression "((int)uVar27 <= iVar34)" ( (binary_expression "(int)uVar27 <= iVar34" (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;)) (expression_statement "FStackY_150.nSegment = 0;" (assignment_expression "FStackY_150.nSegment = 0" (field_expression "FStackY_150.nSegment" identifier . field_identifier) = number_literal) ;) (expression_statement "FStackY_150.apSegment = (Fts3SegReader **)0x0;" (assignment_expression "FStackY_150.apSegment = (Fts3SegReader **)0x0" (field_expression "FStackY_150.apSegment" identifier . field_identifier) = (cast_expression "(Fts3SegReader **)0x0" ( (type_descriptor "Fts3SegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);" (assignment_expression "iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150)" identifier = (call_expression "(*pcVar35)(iVar20 + iVar34,&FStackY_150)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(iVar20 + iVar34,&FStackY_150)" ( (binary_expression "iVar20 + iVar34" identifier + identifier) , (pointer_expression "&FStackY_150" & identifier) )))) ;) (expression_statement "iVar4 = iVar4 + iVar34;" (assignment_expression "iVar4 = iVar4 + iVar34" identifier = (binary_expression "iVar4 + iVar34" identifier + identifier)) ;) (goto_statement "goto LAB_0011e97c;" goto statement_identifier ;) }))) (if_statement "if ((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)) break;" if (parenthesized_expression "((FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1))" ( (binary_expression "(FStackY_150.apSegment == (Fts3SegReader **)0x0) &&\n                     (FStackY_150.nSegment == 1)" (parenthesized_expression "(FStackY_150.apSegment == (Fts3SegReader **)0x0)" ( (binary_expression "FStackY_150.apSegment == (Fts3SegReader **)0x0" (field_expression "FStackY_150.apSegment" identifier . field_identifier) == (cast_expression "(Fts3SegReader **)0x0" ( (type_descriptor "Fts3SegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "(FStackY_150.nSegment == 1)" ( (binary_expression "FStackY_150.nSegment == 1" (field_expression "FStackY_150.nSegment" identifier . field_identifier) == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar28 = psVar12->aLimit[1] + iVar4;" (assignment_expression "iVar28 = psVar12->aLimit[1] + iVar4" identifier = (binary_expression "psVar12->aLimit[1] + iVar4" (subscript_expression "psVar12->aLimit[1]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ]) + identifier)) ;) (expression_statement "uVar10 = *(uint *)(iVar28 + 0xc);" (assignment_expression "uVar10 = *(uint *)(iVar28 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar28 + 0xc)" * (cast_expression "(uint *)(iVar28 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0xc)" ( (binary_expression "iVar28 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar21 = uVar10 + 1;" (assignment_expression "uVar21 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar28 + 0xc) = uVar21;" (assignment_expression "*(uint *)(iVar28 + 0xc) = uVar21" (pointer_expression "*(uint *)(iVar28 + 0xc)" * (cast_expression "(uint *)(iVar28 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 0xc)" ( (binary_expression "iVar28 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8);" (assignment_expression "*(uint *)(iVar28 + 8) = (uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8)" (pointer_expression "*(uint *)(iVar28 + 8)" * (cast_expression "(uint *)(iVar28 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 8)" ( (binary_expression "iVar28 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar21 < uVar10) + *(int *)(iVar28 + 8)" (call_expression "(uint)(uVar21 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 < uVar10)" ( (binary_expression "uVar21 < uVar10" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar28 + 8)" * (cast_expression "(int *)(iVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 8)" ( (binary_expression "iVar28 + 8" identifier + number_literal) )))))) ;) (expression_statement "iVar28 = psVar12->aLimit[1];" (assignment_expression "iVar28 = psVar12->aLimit[1]" identifier = (subscript_expression "psVar12->aLimit[1]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc);" (assignment_expression "pFVar7 = *(Fts3MultiSegReader **)(iVar28 + 0xc)" identifier = (pointer_expression "*(Fts3MultiSegReader **)(iVar28 + 0xc)" * (cast_expression "(Fts3MultiSegReader **)(iVar28 + 0xc)" ( (type_descriptor "Fts3MultiSegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar28 + 0xc)" ( (binary_expression "iVar28 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pFVar18 = *(Fts3Table **)(iVar28 + 8);" (assignment_expression "pFVar18 = *(Fts3Table **)(iVar28 + 8)" identifier = (pointer_expression "*(Fts3Table **)(iVar28 + 8)" * (cast_expression "(Fts3Table **)(iVar28 + 8)" ( (type_descriptor "Fts3Table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar28 + 8)" ( (binary_expression "iVar28 + 8" identifier + number_literal) ))))) ;) (expression_statement "pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);" (assignment_expression "pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1)" identifier = (cast_expression "(Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1)" ( (type_descriptor "Fts3MultiSegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pFVar7->apSegment + 1)" ( (binary_expression "(int)&pFVar7->apSegment + 1" (cast_expression "(int)&pFVar7->apSegment" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar7->apSegment" & (field_expression "pFVar7->apSegment" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr;" (assignment_expression "*(Fts3MultiSegReader **)(iVar28 + 0xc) = pCsr" (pointer_expression "*(Fts3MultiSegReader **)(iVar28 + 0xc)" * (cast_expression "(Fts3MultiSegReader **)(iVar28 + 0xc)" ( (type_descriptor "Fts3MultiSegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar28 + 0xc)" ( (binary_expression "iVar28 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);" (assignment_expression "*(uint *)(iVar28 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38)" (pointer_expression "*(uint *)(iVar28 + 8)" * (cast_expression "(uint *)(iVar28 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 8)" ( (binary_expression "iVar28 + 8" identifier + number_literal) )))) = (binary_expression "(int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38)" (cast_expression "(int)pFVar18->aStmt" ( (type_descriptor "int" primitive_type) ) (field_expression "pFVar18->aStmt" identifier -> field_identifier)) + (parenthesized_expression "((pCsr < pFVar7) - 0x38)" ( (binary_expression "(pCsr < pFVar7) - 0x38" (parenthesized_expression "(pCsr < pFVar7)" ( (binary_expression "pCsr < pFVar7" identifier < identifier) )) - number_literal) )))) ;) })) (if_statement "if ((int)uVar27 <= iVar34) goto LAB_0011e87c;" if (parenthesized_expression "((int)uVar27 <= iVar34)" ( (binary_expression "(int)uVar27 <= iVar34" (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;)) (expression_statement "FStackY_150.nSegment = 0;" (assignment_expression "FStackY_150.nSegment = 0" (field_expression "FStackY_150.nSegment" identifier . field_identifier) = number_literal) ;) (expression_statement "FStackY_150.apSegment = (Fts3SegReader **)0x0;" (assignment_expression "FStackY_150.apSegment = (Fts3SegReader **)0x0" (field_expression "FStackY_150.apSegment" identifier . field_identifier) = (cast_expression "(Fts3SegReader **)0x0" ( (type_descriptor "Fts3SegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);" (assignment_expression "iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150)" identifier = (call_expression "(*pcVar35)(iVar20 + iVar34,&FStackY_150)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(iVar20 + iVar34,&FStackY_150)" ( (binary_expression "iVar20 + iVar34" identifier + identifier) , (pointer_expression "&FStackY_150" & identifier) )))) ;) (expression_statement "iVar34 = iVar4 + iVar34;" (assignment_expression "iVar34 = iVar4 + iVar34" identifier = (binary_expression "iVar4 + iVar34" identifier + identifier)) ;) })) (goto_statement "goto LAB_0011ec20;" goto statement_identifier ;) })) }) (else_clause "else {\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }" else (compound_statement "{\n            iVar4 = psVar12->aLimit[1];\n            uVar10 = *(uint *)(iVar4 + 0x1c);\n            uVar21 = uVar10 + 1;\n            *(uint *)(iVar4 + 0x1c) = uVar21;\n            *(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);\n            iVar4 = psVar12->aLimit[1];\n            pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);\n            pFVar18 = *(Fts3Table **)(iVar4 + 8);\n            pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);\n            *(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;\n            *(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);\n            if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }" { (expression_statement "iVar4 = psVar12->aLimit[1];" (assignment_expression "iVar4 = psVar12->aLimit[1]" identifier = (subscript_expression "psVar12->aLimit[1]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "uVar10 = *(uint *)(iVar4 + 0x1c);" (assignment_expression "uVar10 = *(uint *)(iVar4 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar4 + 0x1c)" * (cast_expression "(uint *)(iVar4 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar21 = uVar10 + 1;" (assignment_expression "uVar21 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar4 + 0x1c) = uVar21;" (assignment_expression "*(uint *)(iVar4 + 0x1c) = uVar21" (pointer_expression "*(uint *)(iVar4 + 0x1c)" * (cast_expression "(uint *)(iVar4 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1c)" ( (binary_expression "iVar4 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18);" (assignment_expression "*(uint *)(iVar4 + 0x18) = (uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18)" (pointer_expression "*(uint *)(iVar4 + 0x18)" * (cast_expression "(uint *)(iVar4 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x18)" ( (binary_expression "iVar4 + 0x18" identifier + number_literal) )))) = (binary_expression "(uint)(uVar21 < uVar10) + *(int *)(iVar4 + 0x18)" (call_expression "(uint)(uVar21 < uVar10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 < uVar10)" ( (binary_expression "uVar21 < uVar10" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar4 + 0x18)" * (cast_expression "(int *)(iVar4 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x18)" ( (binary_expression "iVar4 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "iVar4 = psVar12->aLimit[1];" (assignment_expression "iVar4 = psVar12->aLimit[1]" identifier = (subscript_expression "psVar12->aLimit[1]" (field_expression "psVar12->aLimit" identifier -> field_identifier) [ number_literal ])) ;) (expression_statement "pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc);" (assignment_expression "pFVar7 = *(Fts3MultiSegReader **)(iVar4 + 0xc)" identifier = (pointer_expression "*(Fts3MultiSegReader **)(iVar4 + 0xc)" * (cast_expression "(Fts3MultiSegReader **)(iVar4 + 0xc)" ( (type_descriptor "Fts3MultiSegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "pFVar18 = *(Fts3Table **)(iVar4 + 8);" (assignment_expression "pFVar18 = *(Fts3Table **)(iVar4 + 8)" identifier = (pointer_expression "*(Fts3Table **)(iVar4 + 8)" * (cast_expression "(Fts3Table **)(iVar4 + 8)" ( (type_descriptor "Fts3Table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1);" (assignment_expression "pCsr = (Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1)" identifier = (cast_expression "(Fts3MultiSegReader *)((int)&pFVar7->apSegment + 1)" ( (type_descriptor "Fts3MultiSegReader *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pFVar7->apSegment + 1)" ( (binary_expression "(int)&pFVar7->apSegment + 1" (cast_expression "(int)&pFVar7->apSegment" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar7->apSegment" & (field_expression "pFVar7->apSegment" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "*(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr;" (assignment_expression "*(Fts3MultiSegReader **)(iVar4 + 0xc) = pCsr" (pointer_expression "*(Fts3MultiSegReader **)(iVar4 + 0xc)" * (cast_expression "(Fts3MultiSegReader **)(iVar4 + 0xc)" ( (type_descriptor "Fts3MultiSegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38);" (assignment_expression "*(uint *)(iVar4 + 8) = (int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38)" (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = (binary_expression "(int)pFVar18->aStmt + ((pCsr < pFVar7) - 0x38)" (cast_expression "(int)pFVar18->aStmt" ( (type_descriptor "int" primitive_type) ) (field_expression "pFVar18->aStmt" identifier -> field_identifier)) + (parenthesized_expression "((pCsr < pFVar7) - 0x38)" ( (binary_expression "(pCsr < pFVar7) - 0x38" (parenthesized_expression "(pCsr < pFVar7)" ( (binary_expression "pCsr < pFVar7" identifier < identifier) )) - number_literal) )))) ;) (if_statement "if (iVar34 < (int)uVar27) {\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }" if (parenthesized_expression "(iVar34 < (int)uVar27)" ( (binary_expression "iVar34 < (int)uVar27" identifier < (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              FStackY_150.nSegment = 0;\n              FStackY_150.apSegment = (Fts3SegReader **)0x0;\n              pCsr = &FStackY_150;\n              iVar28 = (*pcVar35)(iVar20 + iVar34);\n              iVar4 = 0x10;\n              iVar34 = iVar34 + iVar28;\n              goto LAB_0011eaec;\n            }" { (expression_statement "FStackY_150.nSegment = 0;" (assignment_expression "FStackY_150.nSegment = 0" (field_expression "FStackY_150.nSegment" identifier . field_identifier) = number_literal) ;) (expression_statement "FStackY_150.apSegment = (Fts3SegReader **)0x0;" (assignment_expression "FStackY_150.apSegment = (Fts3SegReader **)0x0" (field_expression "FStackY_150.apSegment" identifier . field_identifier) = (cast_expression "(Fts3SegReader **)0x0" ( (type_descriptor "Fts3SegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pCsr = &FStackY_150;" (assignment_expression "pCsr = &FStackY_150" identifier = (pointer_expression "&FStackY_150" & identifier)) ;) (expression_statement "iVar28 = (*pcVar35)(iVar20 + iVar34);" (assignment_expression "iVar28 = (*pcVar35)(iVar20 + iVar34)" identifier = (call_expression "(*pcVar35)(iVar20 + iVar34)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(iVar20 + iVar34)" ( (binary_expression "iVar20 + iVar34" identifier + identifier) )))) ;) (expression_statement "iVar4 = 0x10;" (assignment_expression "iVar4 = 0x10" identifier = number_literal) ;) (expression_statement "iVar34 = iVar34 + iVar28;" (assignment_expression "iVar34 = iVar34 + iVar28" identifier = (binary_expression "iVar34 + iVar28" identifier + identifier)) ;) (goto_statement "goto LAB_0011eaec;" goto statement_identifier ;) })) }))) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;) })) (if_statement "if ((int)uVar27 <= iVar34) goto LAB_0011e87c;" if (parenthesized_expression "((int)uVar27 <= iVar34)" ( (binary_expression "(int)uVar27 <= iVar34" (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;)) (expression_statement "FStackY_150.nSegment = 0;" (assignment_expression "FStackY_150.nSegment = 0" (field_expression "FStackY_150.nSegment" identifier . field_identifier) = number_literal) ;) (expression_statement "FStackY_150.apSegment = (Fts3SegReader **)0x0;" (assignment_expression "FStackY_150.apSegment = (Fts3SegReader **)0x0" (field_expression "FStackY_150.apSegment" identifier . field_identifier) = (cast_expression "(Fts3SegReader **)0x0" ( (type_descriptor "Fts3SegReader **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150);" (assignment_expression "iVar4 = (*pcVar35)(iVar20 + iVar34,&FStackY_150)" identifier = (call_expression "(*pcVar35)(iVar20 + iVar34,&FStackY_150)" (parenthesized_expression "(*pcVar35)" ( (pointer_expression "*pcVar35" * identifier) )) (argument_list "(iVar20 + iVar34,&FStackY_150)" ( (binary_expression "iVar20 + iVar34" identifier + identifier) , (pointer_expression "&FStackY_150" & identifier) )))) ;) (expression_statement "iVar4 = iVar34 + iVar4;" (assignment_expression "iVar4 = iVar34 + iVar4" identifier = (binary_expression "iVar34 + iVar4" identifier + identifier)) ;) (goto_statement "goto LAB_0011e97c;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0011e87c:\n    psVar12->nTotalChange = 0;" statement_identifier : (expression_statement "psVar12->nTotalChange = 0;" (assignment_expression "psVar12->nTotalChange = 0" (field_expression "psVar12->nTotalChange" identifier -> field_identifier) = number_literal) ;)) }))) (labeled_statement "LAB_0011e880:\n  iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0011e884:\n  if ((Fts3Table *)FStackY_150.pFilter == (Fts3Table *)*piVar25) {\n    return iVar4;\n  }" statement_identifier : (if_statement "if ((Fts3Table *)FStackY_150.pFilter == (Fts3Table *)*piVar25) {\n    return iVar4;\n  }" if (parenthesized_expression "((Fts3Table *)FStackY_150.pFilter == (Fts3Table *)*piVar25)" ( (binary_expression "(Fts3Table *)FStackY_150.pFilter == (Fts3Table *)*piVar25" (cast_expression "(Fts3Table *)FStackY_150.pFilter" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "FStackY_150.pFilter" identifier . field_identifier)) == (cast_expression "(Fts3Table *)*piVar25" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar25" * identifier))) )) (compound_statement "{\n    return iVar4;\n  }" { (return_statement "return iVar4;" return identifier ;) }))) (expression_statement "pcVar33 = *(code **)(pcVar33 + 0x3d318);" (assignment_expression "pcVar33 = *(code **)(pcVar33 + 0x3d318)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x3d318)" * (cast_expression "(code **)(pcVar33 + 0x3d318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x3d318)" ( (binary_expression "pcVar33 + 0x3d318" identifier + number_literal) ))))) ;) (expression_statement "pFVar6 = (Fts3Table *)FStackY_150.pFilter;" (assignment_expression "pFVar6 = (Fts3Table *)FStackY_150.pFilter" identifier = (cast_expression "(Fts3Table *)FStackY_150.pFilter" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "FStackY_150.pFilter" identifier . field_identifier))) ;) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = pCsr->nSegment;" (assignment_expression "iVar4 = pCsr->nSegment" identifier = (field_expression "pCsr->nSegment" identifier -> field_identifier)) ;) (if_statement "if ((pCsr->bRestart == 0) && (iVar20 = *(int *)(pcVar33 + 0x3ca34), 0 < iVar4)) {\n    iVar34 = 0;\n    iVar30 = *(int *)(pcVar33 + 0x3ca14);\n    pFVar26 = pFVar18;\n    do {\n      iVar28 = 0;\n      pReader_00 = pCsr->apSegment[iVar34];\n      do {\n        iVar8 = fts3SegReaderNext(pFVar6,pReader_00,(int)pFVar26);\n        if (iVar8 != 0) {\n          return iVar8;\n        }\n        pFVar26 = in_a3;\n      } while ((pFVar18 != (Fts3Table *)0x0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18), iVar28 < 0));\n      if ((pReader_00->bLookup != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar20 + 0x5384))(pReader_00);\n      }\n      iVar34 = iVar34 + 1;\n    } while ((pCsr->bRestart == 0) && (iVar34 < pCsr->nSegment));\n  }" if (parenthesized_expression "((pCsr->bRestart == 0) && (iVar20 = *(int *)(pcVar33 + 0x3ca34), 0 < iVar4))" ( (binary_expression "(pCsr->bRestart == 0) && (iVar20 = *(int *)(pcVar33 + 0x3ca34), 0 < iVar4)" (parenthesized_expression "(pCsr->bRestart == 0)" ( (binary_expression "pCsr->bRestart == 0" (field_expression "pCsr->bRestart" identifier -> field_identifier) == number_literal) )) && (parenthesized_expression "(iVar20 = *(int *)(pcVar33 + 0x3ca34), 0 < iVar4)" ( (comma_expression "iVar20 = *(int *)(pcVar33 + 0x3ca34), 0 < iVar4" (assignment_expression "iVar20 = *(int *)(pcVar33 + 0x3ca34)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x3ca34)" * (cast_expression "(int *)(pcVar33 + 0x3ca34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x3ca34)" ( (binary_expression "pcVar33 + 0x3ca34" identifier + number_literal) ))))) , (binary_expression "0 < iVar4" number_literal < identifier)) ))) )) (compound_statement "{\n    iVar34 = 0;\n    iVar30 = *(int *)(pcVar33 + 0x3ca14);\n    pFVar26 = pFVar18;\n    do {\n      iVar28 = 0;\n      pReader_00 = pCsr->apSegment[iVar34];\n      do {\n        iVar8 = fts3SegReaderNext(pFVar6,pReader_00,(int)pFVar26);\n        if (iVar8 != 0) {\n          return iVar8;\n        }\n        pFVar26 = in_a3;\n      } while ((pFVar18 != (Fts3Table *)0x0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18), iVar28 < 0));\n      if ((pReader_00->bLookup != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar20 + 0x5384))(pReader_00);\n      }\n      iVar34 = iVar34 + 1;\n    } while ((pCsr->bRestart == 0) && (iVar34 < pCsr->nSegment));\n  }" { (expression_statement "iVar34 = 0;" (assignment_expression "iVar34 = 0" identifier = number_literal) ;) (expression_statement "iVar30 = *(int *)(pcVar33 + 0x3ca14);" (assignment_expression "iVar30 = *(int *)(pcVar33 + 0x3ca14)" identifier = (pointer_expression "*(int *)(pcVar33 + 0x3ca14)" * (cast_expression "(int *)(pcVar33 + 0x3ca14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x3ca14)" ( (binary_expression "pcVar33 + 0x3ca14" identifier + number_literal) ))))) ;) (expression_statement "pFVar26 = pFVar18;" (assignment_expression "pFVar26 = pFVar18" identifier = identifier) ;) (do_statement "do {\n      iVar28 = 0;\n      pReader_00 = pCsr->apSegment[iVar34];\n      do {\n        iVar8 = fts3SegReaderNext(pFVar6,pReader_00,(int)pFVar26);\n        if (iVar8 != 0) {\n          return iVar8;\n        }\n        pFVar26 = in_a3;\n      } while ((pFVar18 != (Fts3Table *)0x0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18), iVar28 < 0));\n      if ((pReader_00->bLookup != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar20 + 0x5384))(pReader_00);\n      }\n      iVar34 = iVar34 + 1;\n    } while ((pCsr->bRestart == 0) && (iVar34 < pCsr->nSegment));" do (compound_statement "{\n      iVar28 = 0;\n      pReader_00 = pCsr->apSegment[iVar34];\n      do {\n        iVar8 = fts3SegReaderNext(pFVar6,pReader_00,(int)pFVar26);\n        if (iVar8 != 0) {\n          return iVar8;\n        }\n        pFVar26 = in_a3;\n      } while ((pFVar18 != (Fts3Table *)0x0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18), iVar28 < 0));\n      if ((pReader_00->bLookup != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar20 + 0x5384))(pReader_00);\n      }\n      iVar34 = iVar34 + 1;\n    }" { (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" identifier = number_literal) ;) (expression_statement "pReader_00 = pCsr->apSegment[iVar34];" (assignment_expression "pReader_00 = pCsr->apSegment[iVar34]" identifier = (subscript_expression "pCsr->apSegment[iVar34]" (field_expression "pCsr->apSegment" identifier -> field_identifier) [ identifier ])) ;) (do_statement "do {\n        iVar8 = fts3SegReaderNext(pFVar6,pReader_00,(int)pFVar26);\n        if (iVar8 != 0) {\n          return iVar8;\n        }\n        pFVar26 = in_a3;\n      } while ((pFVar18 != (Fts3Table *)0x0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18), iVar28 < 0));" do (compound_statement "{\n        iVar8 = fts3SegReaderNext(pFVar6,pReader_00,(int)pFVar26);\n        if (iVar8 != 0) {\n          return iVar8;\n        }\n        pFVar26 = in_a3;\n      }" { (expression_statement "iVar8 = fts3SegReaderNext(pFVar6,pReader_00,(int)pFVar26);" (assignment_expression "iVar8 = fts3SegReaderNext(pFVar6,pReader_00,(int)pFVar26)" identifier = (call_expression "fts3SegReaderNext(pFVar6,pReader_00,(int)pFVar26)" identifier (argument_list "(pFVar6,pReader_00,(int)pFVar26)" ( identifier , identifier , (cast_expression "(int)pFVar26" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n          return iVar8;\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          return iVar8;\n        }" { (return_statement "return iVar8;" return identifier ;) })) (expression_statement "pFVar26 = in_a3;" (assignment_expression "pFVar26 = in_a3" identifier = identifier) ;) }) while (parenthesized_expression "((pFVar18 != (Fts3Table *)0x0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18), iVar28 < 0))" ( (binary_expression "(pFVar18 != (Fts3Table *)0x0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18), iVar28 < 0)" (parenthesized_expression "(pFVar18 != (Fts3Table *)0x0)" ( (binary_expression "pFVar18 != (Fts3Table *)0x0" identifier != (cast_expression "(Fts3Table *)0x0" ( (type_descriptor "Fts3Table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar28 = (*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18), iVar28 < 0)" ( (comma_expression "iVar28 = (*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18), iVar28 < 0" (assignment_expression "iVar28 = (*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18)" identifier = (call_expression "(*(code *)(iVar30 + -0x7564))(pReader_00,pFVar18)" (parenthesized_expression "(*(code *)(iVar30 + -0x7564))" ( (pointer_expression "*(code *)(iVar30 + -0x7564)" * (cast_expression "(code *)(iVar30 + -0x7564)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + -0x7564)" ( (binary_expression "iVar30 + -0x7564" identifier + number_literal) )))) )) (argument_list "(pReader_00,pFVar18)" ( identifier , identifier )))) , (binary_expression "iVar28 < 0" identifier < number_literal)) ))) )) ;) (if_statement "if ((pReader_00->bLookup != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar20 + 0x5384))(pReader_00);\n      }" if (parenthesized_expression "((pReader_00->bLookup != '\0') && (iVar28 != 0))" ( (binary_expression "(pReader_00->bLookup != '\0') && (iVar28 != 0)" (parenthesized_expression "(pReader_00->bLookup != '\0')" ( (binary_expression "pReader_00->bLookup != '\0'" (field_expression "pReader_00->bLookup" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) ))) )) (compound_statement "{\n        (*(code *)(iVar20 + 0x5384))(pReader_00);\n      }" { (expression_statement "(*(code *)(iVar20 + 0x5384))(pReader_00);" (call_expression "(*(code *)(iVar20 + 0x5384))(pReader_00)" (parenthesized_expression "(*(code *)(iVar20 + 0x5384))" ( (pointer_expression "*(code *)(iVar20 + 0x5384)" * (cast_expression "(code *)(iVar20 + 0x5384)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5384)" ( (binary_expression "iVar20 + 0x5384" identifier + number_literal) )))) )) (argument_list "(pReader_00)" ( identifier ))) ;) })) (expression_statement "iVar34 = iVar34 + 1;" (assignment_expression "iVar34 = iVar34 + 1" identifier = (binary_expression "iVar34 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((pCsr->bRestart == 0) && (iVar34 < pCsr->nSegment))" ( (binary_expression "(pCsr->bRestart == 0) && (iVar34 < pCsr->nSegment)" (parenthesized_expression "(pCsr->bRestart == 0)" ( (binary_expression "pCsr->bRestart == 0" (field_expression "pCsr->bRestart" identifier -> field_identifier) == number_literal) )) && (parenthesized_expression "(iVar34 < pCsr->nSegment)" ( (binary_expression "iVar34 < pCsr->nSegment" identifier < (field_expression "pCsr->nSegment" identifier -> field_identifier)) ))) )) ;) })) (expression_statement "(*(code *)(*(int *)(pcVar33 + 0x3c998) + 0x2944))\n            (pCsr->apSegment,iVar4,iVar4,*(int *)(pcVar33 + 0x3ca14) + -0x7638);" (call_expression "(*(code *)(*(int *)(pcVar33 + 0x3c998) + 0x2944))\n            (pCsr->apSegment,iVar4,iVar4,*(int *)(pcVar33 + 0x3ca14) + -0x7638)" (parenthesized_expression "(*(code *)(*(int *)(pcVar33 + 0x3c998) + 0x2944))" ( (pointer_expression "*(code *)(*(int *)(pcVar33 + 0x3c998) + 0x2944)" * (cast_expression "(code *)(*(int *)(pcVar33 + 0x3c998) + 0x2944)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x3c998) + 0x2944)" ( (binary_expression "*(int *)(pcVar33 + 0x3c998) + 0x2944" (pointer_expression "*(int *)(pcVar33 + 0x3c998)" * (cast_expression "(int *)(pcVar33 + 0x3c998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x3c998)" ( (binary_expression "pcVar33 + 0x3c998" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pCsr->apSegment,iVar4,iVar4,*(int *)(pcVar33 + 0x3ca14) + -0x7638)" ( (field_expression "pCsr->apSegment" identifier -> field_identifier) , identifier , identifier , (binary_expression "*(int *)(pcVar33 + 0x3ca14) + -0x7638" (pointer_expression "*(int *)(pcVar33 + 0x3ca14)" * (cast_expression "(int *)(pcVar33 + 0x3ca14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x3ca14)" ( (binary_expression "pcVar33 + 0x3ca14" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) (labeled_statement "LAB_0011e6ac:\n  iVar4 = 100;" statement_identifier : (expression_statement "iVar4 = 100;" (assignment_expression "iVar4 = 100" identifier = number_literal) ;)) (expression_statement "pcVar16 = pFStackY_e0->zDb;" (assignment_expression "pcVar16 = pFStackY_e0->zDb" identifier = (field_expression "pFStackY_e0->zDb" identifier -> field_identifier)) ;) (expression_statement "pFStackY_e0->nLeafAdd = (u32)pFStackY_f4;" (assignment_expression "pFStackY_e0->nLeafAdd = (u32)pFStackY_f4" (field_expression "pFStackY_e0->nLeafAdd" identifier -> field_identifier) = (cast_expression "(u32)pFStackY_f4" ( (type_descriptor "u32" type_identifier) ) identifier)) ;) (expression_statement "(pFStackY_e0->base).zErrMsg = unaff_s6;" (assignment_expression "(pFStackY_e0->base).zErrMsg = unaff_s6" (field_expression "(pFStackY_e0->base).zErrMsg" (parenthesized_expression "(pFStackY_e0->base)" ( (field_expression "pFStackY_e0->base" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pFStackY_e0->nAutoincrmerge = (int)pcVar16;" (assignment_expression "pFStackY_e0->nAutoincrmerge = (int)pcVar16" (field_expression "pFStackY_e0->nAutoincrmerge" identifier -> field_identifier) = (cast_expression "(int)pcVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pFVar29 = p;" (assignment_expression "pFVar29 = p" identifier = identifier) ;) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;) })))
(translation_unit "int FUN_0011d8a8(code *******param_1,code *******param_2,undefined4 param_3,code *******param_4)\n\n{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  code *******pppppppcVar6;\n  code ******ppppppcVar7;\n  code *******pppppppcVar8;\n  int *piVar9;\n  code ******ppppppcVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  code *******pppppppcVar13;\n  code *pcVar14;\n  int iVar15;\n  int *piVar16;\n  uint uVar17;\n  uint uVar18;\n  int *piVar19;\n  code *pcVar20;\n  code *pcVar21;\n  int *piVar22;\n  int iVar23;\n  code *******pppppppcVar24;\n  code *pcVar25;\n  code *******pppppppcVar26;\n  code *pcVar27;\n  int iVar28;\n  code *******pppppppcVar29;\n  code *******unaff_s4;\n  int iVar30;\n  code ******unaff_s5;\n  code ******unaff_s6;\n  code *******unaff_s7;\n  code ******ppppppcVar31;\n  undefined *puVar32;\n  code *******unaff_s8;\n  int iVar33;\n  undefined4 uVar34;\n  int iStack_150;\n  uint uStack_14c;\n  int iStack_144;\n  code *******pppppppcStack_140;\n  code *******pppppppcStack_13c;\n  code *******pppppppcStack_138;\n  code *******pppppppcStack_134;\n  code *******pppppppcStack_130;\n  code ******ppppppcStack_12c;\n  code ******ppppppcStack_128;\n  code *******pppppppcStack_124;\n  code *******pppppppcStack_120;\n  undefined4 uStack_11c;\n  undefined *puStack_108;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *******pppppppcStack_f4;\n  code *******pppppppcStack_f0;\n  code *pcStack_ec;\n  code *******pppppppcStack_e8;\n  int iStack_e4;\n  code *******pppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  uint uStack_cc;\n  code *******pppppppcStack_c8;\n  code *******pppppppcStack_c4;\n  code *pcStack_c0;\n  uint uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  code *pcStack_b0;\n  code *pcStack_ac;\n  code *******pppppppcStack_a8;\n  code ******ppppppcStack_a4;\n  code *******pppppppcStack_a0;\n  code *pcStack_9c;\n  int *piStack_98;\n  code *****pppppcStack_94;\n  code ******ppppppcStack_90;\n  code ******ppppppcStack_8c;\n  code ******ppppppcStack_88;\n  uint uStack_84;\n  int *piStack_7c;\n  code *******pppppppcStack_78;\n  code *******pppppppcStack_74;\n  undefined *puStack_70;\n  code *******pppppppcStack_6c;\n  code *******pppppppcStack_68;\n  code *******local_24;\n  code ******local_20;\n  code *******local_1c;\n  \n  pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c;\n  local_1c = *(code ********)PTR___stack_chk_guard_0015ba2c;\n  if (param_2[0x12] == (code ******)0x0) {\n    pppppppcVar24 = (code *******)param_2[10];\n  }\n  else {\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }\n  if ((pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)) {\n    pppppppcVar13 = param_2;\n    if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }\nLAB_0011db18:\n  if (local_1c == (code *******)*pppppppcVar26) {\n    return iVar2;\n  }\n  pppppppcVar6 = local_1c;\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_108 = puVar32 + 0x45928;\n  pppppppcStack_68 = unaff_s4;\n  pppppppcStack_6c = param_1;\n  puStack_70 = (undefined *)pppppppcVar26;\n  pppppppcStack_74 = pppppppcVar24;\n  pppppppcStack_78 = param_2;\n  piStack_98 = *(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_c8 = pppppppcVar6;\n  pppppppcStack_e0 = pppppppcVar13;\n  piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_a0 = (code *******)pppppppcVar13[1];\n  pppppppcVar29 = param_1;\n  if (*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0) {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar2 = 0;\n    if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }\nLAB_0011ddb4:\n  if (piStack_7c == (int *)*piStack_98) {\n    return iVar2;\n  }\n  pcVar25 = *(code **)(puStack_108 + -0x7ba0);\n  uVar34 = 0x11e6f8;\n  piVar11 = piStack_7c;\n  (*pcVar25)();\n  piVar22 = *(int **)(pcVar25 + 0x3d334);\n  iVar3 = piVar11[0x1a];\n  uVar18 = piVar11[0x19] + 1;\n  iVar2 = piVar11[0x1b];\n  iVar15 = iVar3 + 1;\n  iStack_144 = *piVar22;\n  uVar12 = *(undefined4 *)(*piVar11 + 0xc);\n  piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18];\n  piVar11[0x19] = uVar18;\n  piVar11[0x1a] = iVar15;\n  pppppppcStack_140 = param_2;\n  pppppppcStack_13c = pppppppcVar24;\n  pppppppcStack_138 = pppppppcVar26;\n  pppppppcStack_134 = pppppppcVar29;\n  pppppppcStack_130 = unaff_s4;\n  ppppppcStack_12c = unaff_s5;\n  ppppppcStack_128 = unaff_s6;\n  pppppppcStack_124 = unaff_s7;\n  pppppppcStack_120 = unaff_s8;\n  uStack_11c = uVar34;\n  if (iVar15 < iVar2) {\n    piVar16 = (int *)(iVar15 * 0x10);\n    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);\n    iVar15 = *piVar19;\n    if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }\nLAB_0011e880:\n  iVar3 = 0;\nLAB_0011e884:\n  if (iStack_144 == *piVar22) {\n    return iVar3;\n  }\n  pcVar25 = *(code **)(pcVar25 + 0x3d318);\n  iVar3 = iStack_144;\n  (*pcVar25)();\n  iVar15 = piVar16[1];\n  if ((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)) {\n    iVar33 = 0;\n    iVar30 = *(int *)(pcVar25 + 0x3ca14);\n    do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));\n  }\n  (*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))\n            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638);\n  return 0;\nLAB_0011e6ac:\n  iVar2 = 100;\n  pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4;\n  pppppppcStack_e0[2] = unaff_s6;\n  pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n  pppppppcVar29 = param_1;\n  goto LAB_0011ddb4;\n}\n\n" (function_definition "int FUN_0011d8a8(code *******param_1,code *******param_2,undefined4 param_3,code *******param_4)\n\n{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  code *******pppppppcVar6;\n  code ******ppppppcVar7;\n  code *******pppppppcVar8;\n  int *piVar9;\n  code ******ppppppcVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  code *******pppppppcVar13;\n  code *pcVar14;\n  int iVar15;\n  int *piVar16;\n  uint uVar17;\n  uint uVar18;\n  int *piVar19;\n  code *pcVar20;\n  code *pcVar21;\n  int *piVar22;\n  int iVar23;\n  code *******pppppppcVar24;\n  code *pcVar25;\n  code *******pppppppcVar26;\n  code *pcVar27;\n  int iVar28;\n  code *******pppppppcVar29;\n  code *******unaff_s4;\n  int iVar30;\n  code ******unaff_s5;\n  code ******unaff_s6;\n  code *******unaff_s7;\n  code ******ppppppcVar31;\n  undefined *puVar32;\n  code *******unaff_s8;\n  int iVar33;\n  undefined4 uVar34;\n  int iStack_150;\n  uint uStack_14c;\n  int iStack_144;\n  code *******pppppppcStack_140;\n  code *******pppppppcStack_13c;\n  code *******pppppppcStack_138;\n  code *******pppppppcStack_134;\n  code *******pppppppcStack_130;\n  code ******ppppppcStack_12c;\n  code ******ppppppcStack_128;\n  code *******pppppppcStack_124;\n  code *******pppppppcStack_120;\n  undefined4 uStack_11c;\n  undefined *puStack_108;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *******pppppppcStack_f4;\n  code *******pppppppcStack_f0;\n  code *pcStack_ec;\n  code *******pppppppcStack_e8;\n  int iStack_e4;\n  code *******pppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  uint uStack_cc;\n  code *******pppppppcStack_c8;\n  code *******pppppppcStack_c4;\n  code *pcStack_c0;\n  uint uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  code *pcStack_b0;\n  code *pcStack_ac;\n  code *******pppppppcStack_a8;\n  code ******ppppppcStack_a4;\n  code *******pppppppcStack_a0;\n  code *pcStack_9c;\n  int *piStack_98;\n  code *****pppppcStack_94;\n  code ******ppppppcStack_90;\n  code ******ppppppcStack_8c;\n  code ******ppppppcStack_88;\n  uint uStack_84;\n  int *piStack_7c;\n  code *******pppppppcStack_78;\n  code *******pppppppcStack_74;\n  undefined *puStack_70;\n  code *******pppppppcStack_6c;\n  code *******pppppppcStack_68;\n  code *******local_24;\n  code ******local_20;\n  code *******local_1c;\n  \n  pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c;\n  local_1c = *(code ********)PTR___stack_chk_guard_0015ba2c;\n  if (param_2[0x12] == (code ******)0x0) {\n    pppppppcVar24 = (code *******)param_2[10];\n  }\n  else {\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }\n  if ((pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)) {\n    pppppppcVar13 = param_2;\n    if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }\nLAB_0011db18:\n  if (local_1c == (code *******)*pppppppcVar26) {\n    return iVar2;\n  }\n  pppppppcVar6 = local_1c;\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_108 = puVar32 + 0x45928;\n  pppppppcStack_68 = unaff_s4;\n  pppppppcStack_6c = param_1;\n  puStack_70 = (undefined *)pppppppcVar26;\n  pppppppcStack_74 = pppppppcVar24;\n  pppppppcStack_78 = param_2;\n  piStack_98 = *(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_c8 = pppppppcVar6;\n  pppppppcStack_e0 = pppppppcVar13;\n  piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_a0 = (code *******)pppppppcVar13[1];\n  pppppppcVar29 = param_1;\n  if (*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0) {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar2 = 0;\n    if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }\nLAB_0011ddb4:\n  if (piStack_7c == (int *)*piStack_98) {\n    return iVar2;\n  }\n  pcVar25 = *(code **)(puStack_108 + -0x7ba0);\n  uVar34 = 0x11e6f8;\n  piVar11 = piStack_7c;\n  (*pcVar25)();\n  piVar22 = *(int **)(pcVar25 + 0x3d334);\n  iVar3 = piVar11[0x1a];\n  uVar18 = piVar11[0x19] + 1;\n  iVar2 = piVar11[0x1b];\n  iVar15 = iVar3 + 1;\n  iStack_144 = *piVar22;\n  uVar12 = *(undefined4 *)(*piVar11 + 0xc);\n  piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18];\n  piVar11[0x19] = uVar18;\n  piVar11[0x1a] = iVar15;\n  pppppppcStack_140 = param_2;\n  pppppppcStack_13c = pppppppcVar24;\n  pppppppcStack_138 = pppppppcVar26;\n  pppppppcStack_134 = pppppppcVar29;\n  pppppppcStack_130 = unaff_s4;\n  ppppppcStack_12c = unaff_s5;\n  ppppppcStack_128 = unaff_s6;\n  pppppppcStack_124 = unaff_s7;\n  pppppppcStack_120 = unaff_s8;\n  uStack_11c = uVar34;\n  if (iVar15 < iVar2) {\n    piVar16 = (int *)(iVar15 * 0x10);\n    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);\n    iVar15 = *piVar19;\n    if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }\nLAB_0011e880:\n  iVar3 = 0;\nLAB_0011e884:\n  if (iStack_144 == *piVar22) {\n    return iVar3;\n  }\n  pcVar25 = *(code **)(pcVar25 + 0x3d318);\n  iVar3 = iStack_144;\n  (*pcVar25)();\n  iVar15 = piVar16[1];\n  if ((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)) {\n    iVar33 = 0;\n    iVar30 = *(int *)(pcVar25 + 0x3ca14);\n    do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));\n  }\n  (*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))\n            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638);\n  return 0;\nLAB_0011e6ac:\n  iVar2 = 100;\n  pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4;\n  pppppppcStack_e0[2] = unaff_s6;\n  pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n  pppppppcVar29 = param_1;\n  goto LAB_0011ddb4;\n}" primitive_type (function_declarator "FUN_0011d8a8(code *******param_1,code *******param_2,undefined4 param_3,code *******param_4)" identifier (parameter_list "(code *******param_1,code *******param_2,undefined4 param_3,code *******param_4)" ( (parameter_declaration "code *******param_1" type_identifier (pointer_declarator "*******param_1" * (pointer_declarator "******param_1" * (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (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" * (pointer_declarator "*param_2" * identifier)))))))) , (parameter_declaration "undefined4 param_3" type_identifier 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" * (pointer_declarator "*param_4" * identifier)))))))) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  code *******pppppppcVar6;\n  code ******ppppppcVar7;\n  code *******pppppppcVar8;\n  int *piVar9;\n  code ******ppppppcVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  code *******pppppppcVar13;\n  code *pcVar14;\n  int iVar15;\n  int *piVar16;\n  uint uVar17;\n  uint uVar18;\n  int *piVar19;\n  code *pcVar20;\n  code *pcVar21;\n  int *piVar22;\n  int iVar23;\n  code *******pppppppcVar24;\n  code *pcVar25;\n  code *******pppppppcVar26;\n  code *pcVar27;\n  int iVar28;\n  code *******pppppppcVar29;\n  code *******unaff_s4;\n  int iVar30;\n  code ******unaff_s5;\n  code ******unaff_s6;\n  code *******unaff_s7;\n  code ******ppppppcVar31;\n  undefined *puVar32;\n  code *******unaff_s8;\n  int iVar33;\n  undefined4 uVar34;\n  int iStack_150;\n  uint uStack_14c;\n  int iStack_144;\n  code *******pppppppcStack_140;\n  code *******pppppppcStack_13c;\n  code *******pppppppcStack_138;\n  code *******pppppppcStack_134;\n  code *******pppppppcStack_130;\n  code ******ppppppcStack_12c;\n  code ******ppppppcStack_128;\n  code *******pppppppcStack_124;\n  code *******pppppppcStack_120;\n  undefined4 uStack_11c;\n  undefined *puStack_108;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *******pppppppcStack_f4;\n  code *******pppppppcStack_f0;\n  code *pcStack_ec;\n  code *******pppppppcStack_e8;\n  int iStack_e4;\n  code *******pppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  uint uStack_cc;\n  code *******pppppppcStack_c8;\n  code *******pppppppcStack_c4;\n  code *pcStack_c0;\n  uint uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  code *pcStack_b0;\n  code *pcStack_ac;\n  code *******pppppppcStack_a8;\n  code ******ppppppcStack_a4;\n  code *******pppppppcStack_a0;\n  code *pcStack_9c;\n  int *piStack_98;\n  code *****pppppcStack_94;\n  code ******ppppppcStack_90;\n  code ******ppppppcStack_8c;\n  code ******ppppppcStack_88;\n  uint uStack_84;\n  int *piStack_7c;\n  code *******pppppppcStack_78;\n  code *******pppppppcStack_74;\n  undefined *puStack_70;\n  code *******pppppppcStack_6c;\n  code *******pppppppcStack_68;\n  code *******local_24;\n  code ******local_20;\n  code *******local_1c;\n  \n  pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c;\n  local_1c = *(code ********)PTR___stack_chk_guard_0015ba2c;\n  if (param_2[0x12] == (code ******)0x0) {\n    pppppppcVar24 = (code *******)param_2[10];\n  }\n  else {\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }\n  if ((pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)) {\n    pppppppcVar13 = param_2;\n    if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }\nLAB_0011db18:\n  if (local_1c == (code *******)*pppppppcVar26) {\n    return iVar2;\n  }\n  pppppppcVar6 = local_1c;\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_108 = puVar32 + 0x45928;\n  pppppppcStack_68 = unaff_s4;\n  pppppppcStack_6c = param_1;\n  puStack_70 = (undefined *)pppppppcVar26;\n  pppppppcStack_74 = pppppppcVar24;\n  pppppppcStack_78 = param_2;\n  piStack_98 = *(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_c8 = pppppppcVar6;\n  pppppppcStack_e0 = pppppppcVar13;\n  piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_a0 = (code *******)pppppppcVar13[1];\n  pppppppcVar29 = param_1;\n  if (*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0) {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar2 = 0;\n    if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }\nLAB_0011ddb4:\n  if (piStack_7c == (int *)*piStack_98) {\n    return iVar2;\n  }\n  pcVar25 = *(code **)(puStack_108 + -0x7ba0);\n  uVar34 = 0x11e6f8;\n  piVar11 = piStack_7c;\n  (*pcVar25)();\n  piVar22 = *(int **)(pcVar25 + 0x3d334);\n  iVar3 = piVar11[0x1a];\n  uVar18 = piVar11[0x19] + 1;\n  iVar2 = piVar11[0x1b];\n  iVar15 = iVar3 + 1;\n  iStack_144 = *piVar22;\n  uVar12 = *(undefined4 *)(*piVar11 + 0xc);\n  piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18];\n  piVar11[0x19] = uVar18;\n  piVar11[0x1a] = iVar15;\n  pppppppcStack_140 = param_2;\n  pppppppcStack_13c = pppppppcVar24;\n  pppppppcStack_138 = pppppppcVar26;\n  pppppppcStack_134 = pppppppcVar29;\n  pppppppcStack_130 = unaff_s4;\n  ppppppcStack_12c = unaff_s5;\n  ppppppcStack_128 = unaff_s6;\n  pppppppcStack_124 = unaff_s7;\n  pppppppcStack_120 = unaff_s8;\n  uStack_11c = uVar34;\n  if (iVar15 < iVar2) {\n    piVar16 = (int *)(iVar15 * 0x10);\n    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);\n    iVar15 = *piVar19;\n    if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }\nLAB_0011e880:\n  iVar3 = 0;\nLAB_0011e884:\n  if (iStack_144 == *piVar22) {\n    return iVar3;\n  }\n  pcVar25 = *(code **)(pcVar25 + 0x3d318);\n  iVar3 = iStack_144;\n  (*pcVar25)();\n  iVar15 = piVar16[1];\n  if ((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)) {\n    iVar33 = 0;\n    iVar30 = *(int *)(pcVar25 + 0x3ca14);\n    do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));\n  }\n  (*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))\n            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638);\n  return 0;\nLAB_0011e6ac:\n  iVar2 = 100;\n  pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4;\n  pppppppcStack_e0[2] = unaff_s6;\n  pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n  pppppppcVar29 = param_1;\n  goto LAB_0011ddb4;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "code *******pppppppcVar6;" type_identifier (pointer_declarator "*******pppppppcVar6" * (pointer_declarator "******pppppppcVar6" * (pointer_declarator "*****pppppppcVar6" * (pointer_declarator "****pppppppcVar6" * (pointer_declarator "***pppppppcVar6" * (pointer_declarator "**pppppppcVar6" * (pointer_declarator "*pppppppcVar6" * identifier))))))) ;) (declaration "code ******ppppppcVar7;" type_identifier (pointer_declarator "******ppppppcVar7" * (pointer_declarator "*****ppppppcVar7" * (pointer_declarator "****ppppppcVar7" * (pointer_declarator "***ppppppcVar7" * (pointer_declarator "**ppppppcVar7" * (pointer_declarator "*ppppppcVar7" * identifier)))))) ;) (declaration "code *******pppppppcVar8;" type_identifier (pointer_declarator "*******pppppppcVar8" * (pointer_declarator "******pppppppcVar8" * (pointer_declarator "*****pppppppcVar8" * (pointer_declarator "****pppppppcVar8" * (pointer_declarator "***pppppppcVar8" * (pointer_declarator "**pppppppcVar8" * (pointer_declarator "*pppppppcVar8" * identifier))))))) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "code ******ppppppcVar10;" type_identifier (pointer_declarator "******ppppppcVar10" * (pointer_declarator "*****ppppppcVar10" * (pointer_declarator "****ppppppcVar10" * (pointer_declarator "***ppppppcVar10" * (pointer_declarator "**ppppppcVar10" * (pointer_declarator "*ppppppcVar10" * identifier)))))) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "code *******pppppppcVar13;" type_identifier (pointer_declarator "*******pppppppcVar13" * (pointer_declarator "******pppppppcVar13" * (pointer_declarator "*****pppppppcVar13" * (pointer_declarator "****pppppppcVar13" * (pointer_declarator "***pppppppcVar13" * (pointer_declarator "**pppppppcVar13" * (pointer_declarator "*pppppppcVar13" * identifier))))))) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "code *pcVar21;" type_identifier (pointer_declarator "*pcVar21" * identifier) ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "code *******pppppppcVar24;" type_identifier (pointer_declarator "*******pppppppcVar24" * (pointer_declarator "******pppppppcVar24" * (pointer_declarator "*****pppppppcVar24" * (pointer_declarator "****pppppppcVar24" * (pointer_declarator "***pppppppcVar24" * (pointer_declarator "**pppppppcVar24" * (pointer_declarator "*pppppppcVar24" * identifier))))))) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "code *******pppppppcVar26;" type_identifier (pointer_declarator "*******pppppppcVar26" * (pointer_declarator "******pppppppcVar26" * (pointer_declarator "*****pppppppcVar26" * (pointer_declarator "****pppppppcVar26" * (pointer_declarator "***pppppppcVar26" * (pointer_declarator "**pppppppcVar26" * (pointer_declarator "*pppppppcVar26" * identifier))))))) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "code *******pppppppcVar29;" type_identifier (pointer_declarator "*******pppppppcVar29" * (pointer_declarator "******pppppppcVar29" * (pointer_declarator "*****pppppppcVar29" * (pointer_declarator "****pppppppcVar29" * (pointer_declarator "***pppppppcVar29" * (pointer_declarator "**pppppppcVar29" * (pointer_declarator "*pppppppcVar29" * identifier))))))) ;) (declaration "code *******unaff_s4;" type_identifier (pointer_declarator "*******unaff_s4" * (pointer_declarator "******unaff_s4" * (pointer_declarator "*****unaff_s4" * (pointer_declarator "****unaff_s4" * (pointer_declarator "***unaff_s4" * (pointer_declarator "**unaff_s4" * (pointer_declarator "*unaff_s4" * identifier))))))) ;) (declaration "int iVar30;" primitive_type 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 ******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" * (pointer_declarator "*unaff_s7" * 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 "undefined *puVar32;" type_identifier (pointer_declarator "*puVar32" * 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" * (pointer_declarator "*unaff_s8" * identifier))))))) ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "undefined4 uVar34;" type_identifier identifier ;) (declaration "int iStack_150;" primitive_type identifier ;) (declaration "uint uStack_14c;" type_identifier identifier ;) (declaration "int iStack_144;" primitive_type identifier ;) (declaration "code *******pppppppcStack_140;" type_identifier (pointer_declarator "*******pppppppcStack_140" * (pointer_declarator "******pppppppcStack_140" * (pointer_declarator "*****pppppppcStack_140" * (pointer_declarator "****pppppppcStack_140" * (pointer_declarator "***pppppppcStack_140" * (pointer_declarator "**pppppppcStack_140" * (pointer_declarator "*pppppppcStack_140" * identifier))))))) ;) (declaration "code *******pppppppcStack_13c;" type_identifier (pointer_declarator "*******pppppppcStack_13c" * (pointer_declarator "******pppppppcStack_13c" * (pointer_declarator "*****pppppppcStack_13c" * (pointer_declarator "****pppppppcStack_13c" * (pointer_declarator "***pppppppcStack_13c" * (pointer_declarator "**pppppppcStack_13c" * (pointer_declarator "*pppppppcStack_13c" * identifier))))))) ;) (declaration "code *******pppppppcStack_138;" type_identifier (pointer_declarator "*******pppppppcStack_138" * (pointer_declarator "******pppppppcStack_138" * (pointer_declarator "*****pppppppcStack_138" * (pointer_declarator "****pppppppcStack_138" * (pointer_declarator "***pppppppcStack_138" * (pointer_declarator "**pppppppcStack_138" * (pointer_declarator "*pppppppcStack_138" * identifier))))))) ;) (declaration "code *******pppppppcStack_134;" type_identifier (pointer_declarator "*******pppppppcStack_134" * (pointer_declarator "******pppppppcStack_134" * (pointer_declarator "*****pppppppcStack_134" * (pointer_declarator "****pppppppcStack_134" * (pointer_declarator "***pppppppcStack_134" * (pointer_declarator "**pppppppcStack_134" * (pointer_declarator "*pppppppcStack_134" * identifier))))))) ;) (declaration "code *******pppppppcStack_130;" type_identifier (pointer_declarator "*******pppppppcStack_130" * (pointer_declarator "******pppppppcStack_130" * (pointer_declarator "*****pppppppcStack_130" * (pointer_declarator "****pppppppcStack_130" * (pointer_declarator "***pppppppcStack_130" * (pointer_declarator "**pppppppcStack_130" * (pointer_declarator "*pppppppcStack_130" * identifier))))))) ;) (declaration "code ******ppppppcStack_12c;" type_identifier (pointer_declarator "******ppppppcStack_12c" * (pointer_declarator "*****ppppppcStack_12c" * (pointer_declarator "****ppppppcStack_12c" * (pointer_declarator "***ppppppcStack_12c" * (pointer_declarator "**ppppppcStack_12c" * (pointer_declarator "*ppppppcStack_12c" * identifier)))))) ;) (declaration "code ******ppppppcStack_128;" type_identifier (pointer_declarator "******ppppppcStack_128" * (pointer_declarator "*****ppppppcStack_128" * (pointer_declarator "****ppppppcStack_128" * (pointer_declarator "***ppppppcStack_128" * (pointer_declarator "**ppppppcStack_128" * (pointer_declarator "*ppppppcStack_128" * identifier)))))) ;) (declaration "code *******pppppppcStack_124;" type_identifier (pointer_declarator "*******pppppppcStack_124" * (pointer_declarator "******pppppppcStack_124" * (pointer_declarator "*****pppppppcStack_124" * (pointer_declarator "****pppppppcStack_124" * (pointer_declarator "***pppppppcStack_124" * (pointer_declarator "**pppppppcStack_124" * (pointer_declarator "*pppppppcStack_124" * identifier))))))) ;) (declaration "code *******pppppppcStack_120;" type_identifier (pointer_declarator "*******pppppppcStack_120" * (pointer_declarator "******pppppppcStack_120" * (pointer_declarator "*****pppppppcStack_120" * (pointer_declarator "****pppppppcStack_120" * (pointer_declarator "***pppppppcStack_120" * (pointer_declarator "**pppppppcStack_120" * (pointer_declarator "*pppppppcStack_120" * identifier))))))) ;) (declaration "undefined4 uStack_11c;" type_identifier identifier ;) (declaration "undefined *puStack_108;" type_identifier (pointer_declarator "*puStack_108" * identifier) ;) (declaration "code *pcStack_fc;" type_identifier (pointer_declarator "*pcStack_fc" * identifier) ;) (declaration "code *pcStack_f8;" type_identifier (pointer_declarator "*pcStack_f8" * identifier) ;) (declaration "code *******pppppppcStack_f4;" type_identifier (pointer_declarator "*******pppppppcStack_f4" * (pointer_declarator "******pppppppcStack_f4" * (pointer_declarator "*****pppppppcStack_f4" * (pointer_declarator "****pppppppcStack_f4" * (pointer_declarator "***pppppppcStack_f4" * (pointer_declarator "**pppppppcStack_f4" * (pointer_declarator "*pppppppcStack_f4" * identifier))))))) ;) (declaration "code *******pppppppcStack_f0;" type_identifier (pointer_declarator "*******pppppppcStack_f0" * (pointer_declarator "******pppppppcStack_f0" * (pointer_declarator "*****pppppppcStack_f0" * (pointer_declarator "****pppppppcStack_f0" * (pointer_declarator "***pppppppcStack_f0" * (pointer_declarator "**pppppppcStack_f0" * (pointer_declarator "*pppppppcStack_f0" * identifier))))))) ;) (declaration "code *pcStack_ec;" type_identifier (pointer_declarator "*pcStack_ec" * identifier) ;) (declaration "code *******pppppppcStack_e8;" type_identifier (pointer_declarator "*******pppppppcStack_e8" * (pointer_declarator "******pppppppcStack_e8" * (pointer_declarator "*****pppppppcStack_e8" * (pointer_declarator "****pppppppcStack_e8" * (pointer_declarator "***pppppppcStack_e8" * (pointer_declarator "**pppppppcStack_e8" * (pointer_declarator "*pppppppcStack_e8" * identifier))))))) ;) (declaration "int iStack_e4;" primitive_type identifier ;) (declaration "code *******pppppppcStack_e0;" type_identifier (pointer_declarator "*******pppppppcStack_e0" * (pointer_declarator "******pppppppcStack_e0" * (pointer_declarator "*****pppppppcStack_e0" * (pointer_declarator "****pppppppcStack_e0" * (pointer_declarator "***pppppppcStack_e0" * (pointer_declarator "**pppppppcStack_e0" * (pointer_declarator "*pppppppcStack_e0" * identifier))))))) ;) (declaration "code *******pppppppcStack_dc;" type_identifier (pointer_declarator "*******pppppppcStack_dc" * (pointer_declarator "******pppppppcStack_dc" * (pointer_declarator "*****pppppppcStack_dc" * (pointer_declarator "****pppppppcStack_dc" * (pointer_declarator "***pppppppcStack_dc" * (pointer_declarator "**pppppppcStack_dc" * (pointer_declarator "*pppppppcStack_dc" * identifier))))))) ;) (declaration "code *******pppppppcStack_d8;" type_identifier (pointer_declarator "*******pppppppcStack_d8" * (pointer_declarator "******pppppppcStack_d8" * (pointer_declarator "*****pppppppcStack_d8" * (pointer_declarator "****pppppppcStack_d8" * (pointer_declarator "***pppppppcStack_d8" * (pointer_declarator "**pppppppcStack_d8" * (pointer_declarator "*pppppppcStack_d8" * identifier))))))) ;) (declaration "code *******pppppppcStack_d4;" type_identifier (pointer_declarator "*******pppppppcStack_d4" * (pointer_declarator "******pppppppcStack_d4" * (pointer_declarator "*****pppppppcStack_d4" * (pointer_declarator "****pppppppcStack_d4" * (pointer_declarator "***pppppppcStack_d4" * (pointer_declarator "**pppppppcStack_d4" * (pointer_declarator "*pppppppcStack_d4" * identifier))))))) ;) (declaration "code *******pppppppcStack_d0;" type_identifier (pointer_declarator "*******pppppppcStack_d0" * (pointer_declarator "******pppppppcStack_d0" * (pointer_declarator "*****pppppppcStack_d0" * (pointer_declarator "****pppppppcStack_d0" * (pointer_declarator "***pppppppcStack_d0" * (pointer_declarator "**pppppppcStack_d0" * (pointer_declarator "*pppppppcStack_d0" * identifier))))))) ;) (declaration "uint uStack_cc;" type_identifier identifier ;) (declaration "code *******pppppppcStack_c8;" type_identifier (pointer_declarator "*******pppppppcStack_c8" * (pointer_declarator "******pppppppcStack_c8" * (pointer_declarator "*****pppppppcStack_c8" * (pointer_declarator "****pppppppcStack_c8" * (pointer_declarator "***pppppppcStack_c8" * (pointer_declarator "**pppppppcStack_c8" * (pointer_declarator "*pppppppcStack_c8" * identifier))))))) ;) (declaration "code *******pppppppcStack_c4;" type_identifier (pointer_declarator "*******pppppppcStack_c4" * (pointer_declarator "******pppppppcStack_c4" * (pointer_declarator "*****pppppppcStack_c4" * (pointer_declarator "****pppppppcStack_c4" * (pointer_declarator "***pppppppcStack_c4" * (pointer_declarator "**pppppppcStack_c4" * (pointer_declarator "*pppppppcStack_c4" * identifier))))))) ;) (declaration "code *pcStack_c0;" type_identifier (pointer_declarator "*pcStack_c0" * identifier) ;) (declaration "uint uStack_bc;" type_identifier identifier ;) (declaration "uint uStack_b8;" type_identifier identifier ;) (declaration "uint uStack_b4;" type_identifier identifier ;) (declaration "code *pcStack_b0;" type_identifier (pointer_declarator "*pcStack_b0" * identifier) ;) (declaration "code *pcStack_ac;" type_identifier (pointer_declarator "*pcStack_ac" * identifier) ;) (declaration "code *******pppppppcStack_a8;" type_identifier (pointer_declarator "*******pppppppcStack_a8" * (pointer_declarator "******pppppppcStack_a8" * (pointer_declarator "*****pppppppcStack_a8" * (pointer_declarator "****pppppppcStack_a8" * (pointer_declarator "***pppppppcStack_a8" * (pointer_declarator "**pppppppcStack_a8" * (pointer_declarator "*pppppppcStack_a8" * identifier))))))) ;) (declaration "code ******ppppppcStack_a4;" type_identifier (pointer_declarator "******ppppppcStack_a4" * (pointer_declarator "*****ppppppcStack_a4" * (pointer_declarator "****ppppppcStack_a4" * (pointer_declarator "***ppppppcStack_a4" * (pointer_declarator "**ppppppcStack_a4" * (pointer_declarator "*ppppppcStack_a4" * identifier)))))) ;) (declaration "code *******pppppppcStack_a0;" type_identifier (pointer_declarator "*******pppppppcStack_a0" * (pointer_declarator "******pppppppcStack_a0" * (pointer_declarator "*****pppppppcStack_a0" * (pointer_declarator "****pppppppcStack_a0" * (pointer_declarator "***pppppppcStack_a0" * (pointer_declarator "**pppppppcStack_a0" * (pointer_declarator "*pppppppcStack_a0" * identifier))))))) ;) (declaration "code *pcStack_9c;" type_identifier (pointer_declarator "*pcStack_9c" * identifier) ;) (declaration "int *piStack_98;" primitive_type (pointer_declarator "*piStack_98" * identifier) ;) (declaration "code *****pppppcStack_94;" type_identifier (pointer_declarator "*****pppppcStack_94" * (pointer_declarator "****pppppcStack_94" * (pointer_declarator "***pppppcStack_94" * (pointer_declarator "**pppppcStack_94" * (pointer_declarator "*pppppcStack_94" * identifier))))) ;) (declaration "code ******ppppppcStack_90;" type_identifier (pointer_declarator "******ppppppcStack_90" * (pointer_declarator "*****ppppppcStack_90" * (pointer_declarator "****ppppppcStack_90" * (pointer_declarator "***ppppppcStack_90" * (pointer_declarator "**ppppppcStack_90" * (pointer_declarator "*ppppppcStack_90" * identifier)))))) ;) (declaration "code ******ppppppcStack_8c;" type_identifier (pointer_declarator "******ppppppcStack_8c" * (pointer_declarator "*****ppppppcStack_8c" * (pointer_declarator "****ppppppcStack_8c" * (pointer_declarator "***ppppppcStack_8c" * (pointer_declarator "**ppppppcStack_8c" * (pointer_declarator "*ppppppcStack_8c" * identifier)))))) ;) (declaration "code ******ppppppcStack_88;" type_identifier (pointer_declarator "******ppppppcStack_88" * (pointer_declarator "*****ppppppcStack_88" * (pointer_declarator "****ppppppcStack_88" * (pointer_declarator "***ppppppcStack_88" * (pointer_declarator "**ppppppcStack_88" * (pointer_declarator "*ppppppcStack_88" * identifier)))))) ;) (declaration "uint uStack_84;" type_identifier identifier ;) (declaration "int *piStack_7c;" primitive_type (pointer_declarator "*piStack_7c" * identifier) ;) (declaration "code *******pppppppcStack_78;" type_identifier (pointer_declarator "*******pppppppcStack_78" * (pointer_declarator "******pppppppcStack_78" * (pointer_declarator "*****pppppppcStack_78" * (pointer_declarator "****pppppppcStack_78" * (pointer_declarator "***pppppppcStack_78" * (pointer_declarator "**pppppppcStack_78" * (pointer_declarator "*pppppppcStack_78" * identifier))))))) ;) (declaration "code *******pppppppcStack_74;" type_identifier (pointer_declarator "*******pppppppcStack_74" * (pointer_declarator "******pppppppcStack_74" * (pointer_declarator "*****pppppppcStack_74" * (pointer_declarator "****pppppppcStack_74" * (pointer_declarator "***pppppppcStack_74" * (pointer_declarator "**pppppppcStack_74" * (pointer_declarator "*pppppppcStack_74" * identifier))))))) ;) (declaration "undefined *puStack_70;" type_identifier (pointer_declarator "*puStack_70" * identifier) ;) (declaration "code *******pppppppcStack_6c;" type_identifier (pointer_declarator "*******pppppppcStack_6c" * (pointer_declarator "******pppppppcStack_6c" * (pointer_declarator "*****pppppppcStack_6c" * (pointer_declarator "****pppppppcStack_6c" * (pointer_declarator "***pppppppcStack_6c" * (pointer_declarator "**pppppppcStack_6c" * (pointer_declarator "*pppppppcStack_6c" * identifier))))))) ;) (declaration "code *******pppppppcStack_68;" type_identifier (pointer_declarator "*******pppppppcStack_68" * (pointer_declarator "******pppppppcStack_68" * (pointer_declarator "*****pppppppcStack_68" * (pointer_declarator "****pppppppcStack_68" * (pointer_declarator "***pppppppcStack_68" * (pointer_declarator "**pppppppcStack_68" * (pointer_declarator "*pppppppcStack_68" * identifier))))))) ;) (declaration "code *******local_24;" type_identifier (pointer_declarator "*******local_24" * (pointer_declarator "******local_24" * (pointer_declarator "*****local_24" * (pointer_declarator "****local_24" * (pointer_declarator "***local_24" * (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier))))))) ;) (declaration "code ******local_20;" type_identifier (pointer_declarator "******local_20" * (pointer_declarator "*****local_20" * (pointer_declarator "****local_20" * (pointer_declarator "***local_20" * (pointer_declarator "**local_20" * (pointer_declarator "*local_20" * identifier)))))) ;) (declaration "code *******local_1c;" type_identifier (pointer_declarator "*******local_1c" * (pointer_declarator "******local_1c" * (pointer_declarator "*****local_1c" * (pointer_declarator "****local_1c" * (pointer_declarator "***local_1c" * (pointer_declarator "**local_1c" * (pointer_declarator "*local_1c" * identifier))))))) ;) (expression_statement "pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c" identifier = (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "local_1c = *(code ********)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_1c = *(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 "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) identifier))) ;) (if_statement "if (param_2[0x12] == (code ******)0x0) {\n    pppppppcVar24 = (code *******)param_2[10];\n  }\n  else {\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }" if (parenthesized_expression "(param_2[0x12] == (code ******)0x0)" ( (binary_expression "param_2[0x12] == (code ******)0x0" (subscript_expression "param_2[0x12]" 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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    pppppppcVar24 = (code *******)param_2[10];\n  }" { (expression_statement "pppppppcVar24 = (code *******)param_2[10];" (assignment_expression "pppppppcVar24 = (code *******)param_2[10]" identifier = (cast_expression "(code *******)param_2[10]" ( (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 "*" *)))))))) ) (subscript_expression "param_2[10]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }" else (compound_statement "{\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }" { (expression_statement "pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);" (assignment_expression "pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13])" identifier = (cast_expression "(code *******)((int)param_2[0x12] + (int)param_2[0x13])" ( (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 "((int)param_2[0x12] + (int)param_2[0x13])" ( (binary_expression "(int)param_2[0x12] + (int)param_2[0x13]" (cast_expression "(int)param_2[0x12]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[0x12]" identifier [ number_literal ])) + (cast_expression "(int)param_2[0x13]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[0x13]" identifier [ number_literal ]))) )))) ;) }))) (if_statement "if ((pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)) {\n    pppppppcVar13 = param_2;\n    if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }" if (parenthesized_expression "((pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24))" ( (binary_expression "(pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)" (parenthesized_expression "(pppppppcVar24 == (code *******)0x0)" ( (binary_expression "pppppppcVar24 == (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) || (parenthesized_expression "((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)" ( (binary_expression "(code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24" (cast_expression "(code *******)((int)param_2[10] + (int)param_2[0xb])" ( (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 "((int)param_2[10] + (int)param_2[0xb])" ( (binary_expression "(int)param_2[10] + (int)param_2[0xb]" (cast_expression "(int)param_2[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[10]" identifier [ number_literal ])) + (cast_expression "(int)param_2[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[0xb]" identifier [ number_literal ]))) ))) <= identifier) ))) )) (compound_statement "{\n    pppppppcVar13 = param_2;\n    if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }\n  }" { (expression_statement "pppppppcVar13 = param_2;" (assignment_expression "pppppppcVar13 = param_2" identifier = identifier) ;) (if_statement "if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }" if (parenthesized_expression "(param_2[0xe] == (code ******)0x0)" ( (binary_expression "param_2[0xe] == (code ******)0x0" (subscript_expression "param_2[0xe]" 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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }" { (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x5384))" ( (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x5384)" * (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x5384)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x5384)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x5384" identifier + number_literal) )))) )) (argument_list "(param_2)" ( identifier ))) ;) (expression_statement "ppppppcVar7 = param_2[8];" (assignment_expression "ppppppcVar7 = param_2[8]" identifier = (subscript_expression "param_2[8]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar6 = (code *******)param_2[9];" (assignment_expression "pppppppcVar6 = (code *******)param_2[9]" identifier = (cast_expression "(code *******)param_2[9]" ( (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 "*" *)))))))) ) (subscript_expression "param_2[9]" identifier [ number_literal ]))) ;) (if_statement "if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }" if (parenthesized_expression "((int)param_2[4] <= (int)ppppppcVar7)" ( (binary_expression "(int)param_2[4] <= (int)ppppppcVar7" (cast_expression "(int)param_2[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[4]" identifier [ number_literal ])) <= (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }" { (if_statement "if (param_2[4] != ppppppcVar7) goto LAB_0011da80;" if (parenthesized_expression "(param_2[4] != ppppppcVar7)" ( (binary_expression "param_2[4] != ppppppcVar7" (subscript_expression "param_2[4]" identifier [ number_literal ]) != identifier) )) (goto_statement "goto LAB_0011da80;" goto statement_identifier ;)) (expression_statement "param_4 = (code *******)((int)pppppppcVar6 + 1);" (assignment_expression "param_4 = (code *******)((int)pppppppcVar6 + 1)" identifier = (cast_expression "(code *******)((int)pppppppcVar6 + 1)" ( (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 "((int)pppppppcVar6 + 1)" ( (binary_expression "(int)pppppppcVar6 + 1" (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }" if (parenthesized_expression "(param_2[5] <= pppppppcVar6)" ( (binary_expression "param_2[5] <= pppppppcVar6" (subscript_expression "param_2[5]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;) })) })) (expression_statement "param_4 = (code *******)((int)pppppppcVar6 + 1);" (assignment_expression "param_4 = (code *******)((int)pppppppcVar6 + 1)" identifier = (cast_expression "(code *******)((int)pppppppcVar6 + 1)" ( (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 "((int)pppppppcVar6 + 1)" ( (binary_expression "(int)pppppppcVar6 + 1" (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_2[9] = (code ******)param_4;" (assignment_expression "param_2[9] = (code ******)param_4" (subscript_expression "param_2[9]" identifier [ number_literal ]) = (cast_expression "(code ******)param_4" ( (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_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));" (assignment_expression "param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6))" (subscript_expression "param_2[8]" identifier [ number_literal ]) = (cast_expression "(code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6))" ( (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)ppppppcVar7 + (uint)(param_4 < pppppppcVar6))" ( (binary_expression "(int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6)" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(param_4 < pppppppcVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_4 < pppppppcVar6)" ( (binary_expression "param_4 < pppppppcVar6" identifier < identifier) )))) )))) ;) (expression_statement "iVar2 = FUN_0011c2d4(param_1);" (assignment_expression "iVar2 = FUN_0011c2d4(param_1)" identifier = (call_expression "FUN_0011c2d4(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }" { (expression_statement "pppppppcVar24 = (code *******)param_2[10];" (assignment_expression "pppppppcVar24 = (code *******)param_2[10]" identifier = (cast_expression "(code *******)param_2[10]" ( (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 "*" *)))))))) ) (subscript_expression "param_2[10]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0011d91c;" goto statement_identifier ;) })) }) (else_clause "else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }" else (compound_statement "{\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }" { (expression_statement "param_1 = (code *******)*param_2[0xe];" (assignment_expression "param_1 = (code *******)*param_2[0xe]" identifier = (cast_expression "(code *******)*param_2[0xe]" ( (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 "*" *)))))))) ) (pointer_expression "*param_2[0xe]" * (subscript_expression "param_2[0xe]" identifier [ number_literal ])))) ;) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(param_2[10])" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2[10])" ( (subscript_expression "param_2[10]" identifier [ number_literal ]) ))) ;) (expression_statement "param_2[10] = (code ******)0x0;" (assignment_expression "param_2[10] = (code ******)0x0" (subscript_expression "param_2[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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "puVar32 = PTR_sqlite3_malloc_0015b640;" (assignment_expression "puVar32 = PTR_sqlite3_malloc_0015b640" identifier = identifier) ;) (if_statement "if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }" if (parenthesized_expression "(param_1 == (code *******)0x0)" ( (binary_expression "param_1 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\nLAB_0011da80:\n        iVar2 = 0;\n      }" { (labeled_statement "LAB_0011da80:\n        iVar2 = 0;" statement_identifier : (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }" else (compound_statement "{\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }" { (expression_statement "unaff_s4 = (code *******)param_1[2];" (assignment_expression "unaff_s4 = (code *******)param_1[2]" identifier = (cast_expression "(code *******)param_1[2]" ( (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 "*" *)))))))) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar7 = *unaff_s4;" (assignment_expression "ppppppcVar7 = *unaff_s4" identifier = (pointer_expression "*unaff_s4" * identifier)) ;) (expression_statement "param_2[0x10] = param_1[3];" (assignment_expression "param_2[0x10] = param_1[3]" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) = (subscript_expression "param_1[3]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);" (assignment_expression "pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1)" identifier = (cast_expression "(code *******)((int)ppppppcVar7 + 1)" ( (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 "((int)ppppppcVar7 + 1)" ( (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_2[0xf] = param_1[4];" (assignment_expression "param_2[0xf] = param_1[4]" (subscript_expression "param_2[0xf]" identifier [ number_literal ]) = (subscript_expression "param_1[4]" identifier [ number_literal ])) ;) (expression_statement "iVar2 = (*(code *)puVar32)(pppppppcVar24);" (assignment_expression "iVar2 = (*(code *)puVar32)(pppppppcVar24)" identifier = (call_expression "(*(code *)puVar32)(pppppppcVar24)" (parenthesized_expression "(*(code *)puVar32)" ( (pointer_expression "*(code *)puVar32" * (cast_expression "(code *)puVar32" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pppppppcVar24)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }" { (expression_statement "pppppppcVar13 = (code *******)unaff_s4[1];" (assignment_expression "pppppppcVar13 = (code *******)unaff_s4[1]" identifier = (cast_expression "(code *******)unaff_s4[1]" ( (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 "*" *)))))))) ) (subscript_expression "unaff_s4[1]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);" (assignment_expression "ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24)" identifier = (cast_expression "(code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24)" ( (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 *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,pppppppcVar13,pppppppcVar24)" ( identifier , identifier , identifier ))))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (expression_statement "param_2[0x13] = (code ******)pppppppcVar24;" (assignment_expression "param_2[0x13] = (code ******)pppppppcVar24" (subscript_expression "param_2[0x13]" identifier [ number_literal ]) = (cast_expression "(code ******)pppppppcVar24" ( (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_2[0xb] = (code ******)pppppppcVar24;" (assignment_expression "param_2[0xb] = (code ******)pppppppcVar24" (subscript_expression "param_2[0xb]" identifier [ number_literal ]) = (cast_expression "(code ******)pppppppcVar24" ( (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_2[0x12] = ppppppcVar7;" (assignment_expression "param_2[0x12] = ppppppcVar7" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[10] = ppppppcVar7;" (assignment_expression "param_2[10] = ppppppcVar7" (subscript_expression "param_2[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[0xe] = param_2[0xe] + 1;" (assignment_expression "param_2[0xe] = param_2[0xe] + 1" (subscript_expression "param_2[0xe]" identifier [ number_literal ]) = (binary_expression "param_2[0xe] + 1" (subscript_expression "param_2[0xe]" identifier [ number_literal ]) + number_literal)) ;) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;) })) (labeled_statement "LAB_0011dbc4:\n        iVar2 = 7;" statement_identifier : (expression_statement "iVar2 = 7;" (assignment_expression "iVar2 = 7" identifier = number_literal) ;)) }))) }))) }) (else_clause "else {\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }" else (compound_statement "{\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }" { (labeled_statement "LAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);" statement_identifier : (expression_statement "param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);" (assignment_expression "param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80)" identifier = (cast_expression "(code *******)(PTR_LAB_0015b6f8 + 0x5f80)" ( (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 "(PTR_LAB_0015b6f8 + 0x5f80)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x5f80" identifier + number_literal) )))) ;)) (expression_statement "pppppppcVar13 = pppppppcVar24;" (assignment_expression "pppppppcVar13 = pppppppcVar24" identifier = identifier) ;) (expression_statement "iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);" (assignment_expression "iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14)" identifier = (call_expression "(*(code *)param_1)(param_2,pppppppcVar24,0x14)" (parenthesized_expression "(*(code *)param_1)" ( (pointer_expression "*(code *)param_1" * (cast_expression "(code *)param_1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,pppppppcVar24,0x14)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }" { (if_statement "if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }" if (parenthesized_expression "((char)*(code *)pppppppcVar24 < '\0')" ( (binary_expression "(char)*(code *)pppppppcVar24 < '\0'" (cast_expression "(char)*(code *)pppppppcVar24" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(code *)pppppppcVar24" * (cast_expression "(code *)pppppppcVar24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }" { (expression_statement "pppppppcVar13 = (code *******)&local_24;" (assignment_expression "pppppppcVar13 = (code *******)&local_24" identifier = (cast_expression "(code *******)&local_24" ( (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 "*" *)))))))) ) (pointer_expression "&local_24" & identifier))) ;) (expression_statement "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);" (assignment_expression "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) )) (argument_list "(pppppppcVar24)" ( identifier )))) ;) }) (else_clause "else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }" else (compound_statement "{\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (expression_statement "local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;" (assignment_expression "local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24" identifier = (binary_expression "(code *******)(uint)(byte)*(code *)pppppppcVar24" (cast_expression "(code *******)(uint)(byte)" ( (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 "*" *)))))))) ) (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * (cast_expression "(code *)pppppppcVar24" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (expression_statement "pcVar25 = (code *)((int)pppppppcVar24 + iVar2);" (assignment_expression "pcVar25 = (code *)((int)pppppppcVar24 + iVar2)" identifier = (cast_expression "(code *)((int)pppppppcVar24 + iVar2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar24 + iVar2)" ( (binary_expression "(int)pppppppcVar24 + iVar2" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }" if (parenthesized_expression "((char)*pcVar25 < '\0')" ( (binary_expression "(char)*pcVar25 < '\0'" (cast_expression "(char)*pcVar25" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pcVar25" * identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }" { (expression_statement "pppppppcVar13 = &local_20;" (assignment_expression "pppppppcVar13 = &local_20" identifier = (pointer_expression "&local_20" & identifier)) ;) (expression_statement "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);" (assignment_expression "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) )) (argument_list "(pcVar25)" ( identifier )))) ;) }) (else_clause "else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }" else (compound_statement "{\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (expression_statement "local_20 = (code ******)(uint)(byte)*pcVar25;" (assignment_expression "local_20 = (code ******)(uint)(byte)*pcVar25" identifier = (binary_expression "(code ******)(uint)(byte)*pcVar25" (cast_expression "(code ******)(uint)(byte)" ( (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 "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * identifier)) ;) }))) (expression_statement "pppppppcVar24 = (code *******)(pcVar25 + iVar2);" (assignment_expression "pppppppcVar24 = (code *******)(pcVar25 + iVar2)" identifier = (cast_expression "(code *******)(pcVar25 + iVar2)" ( (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 "(pcVar25 + iVar2)" ( (binary_expression "pcVar25 + iVar2" identifier + identifier) )))) ;) (if_statement "if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }" if (parenthesized_expression "(0 < (int)local_20)" ( (binary_expression "0 < (int)local_20" number_literal < (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }" { (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" identifier = number_literal) ;) (if_statement "if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;" if (parenthesized_expression "(((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)" ( (binary_expression "((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20" (binary_expression "((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24" (parenthesized_expression "((int)param_2[10] + (int)param_2[0xb])" ( (binary_expression "(int)param_2[10] + (int)param_2[0xb]" (cast_expression "(int)param_2[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[10]" identifier [ number_literal ])) + (cast_expression "(int)param_2[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[0xb]" identifier [ number_literal ]))) )) - (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier)) < (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;)) (expression_statement "pppppppcVar6 = (code *******)param_2[0x11];" (assignment_expression "pppppppcVar6 = (code *******)param_2[0x11]" identifier = (cast_expression "(code *******)param_2[0x11]" ( (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 "*" *)))))))) ) (subscript_expression "param_2[0x11]" identifier [ number_literal ]))) ;) (expression_statement "pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);" (assignment_expression "pppppppcVar13 = (code *******)((int)local_24 >> 0x1f)" identifier = (cast_expression "(code *******)((int)local_24 >> 0x1f)" ( (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 "((int)local_24 >> 0x1f)" ( (binary_expression "(int)local_24 >> 0x1f" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (if_statement "if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }" if (parenthesized_expression "((int)local_24 <= (int)pppppppcVar6)" ( (binary_expression "(int)local_24 <= (int)pppppppcVar6" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }" { (expression_statement "param_4 = (code *******)((int)local_24 + (int)local_20);" (assignment_expression "param_4 = (code *******)((int)local_24 + (int)local_20)" identifier = (cast_expression "(code *******)((int)local_24 + (int)local_20)" ( (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 "((int)local_24 + (int)local_20)" ( (binary_expression "(int)local_24 + (int)local_20" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));" (assignment_expression "pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f))" identifier = (cast_expression "(code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f))" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f))" ( (binary_expression "(int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f)" (binary_expression "(int)pppppppcVar13 +\n                            (uint)(param_4 < local_24)" (cast_expression "(int)pppppppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (call_expression "(uint)(param_4 < local_24)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_4 < local_24)" ( (binary_expression "param_4 < local_24" identifier < identifier) )))) + (parenthesized_expression "((int)local_20 >> 0x1f)" ( (binary_expression "(int)local_20 >> 0x1f" (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )))) ;) (expression_statement "pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);" (assignment_expression "pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25)" identifier = (cast_expression "(code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25)" ( (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 "*" *)))))))) ) (call_expression "(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppppcVar6 >> 0x1f < (int)pcVar25)" ( (binary_expression "(int)pppppppcVar6 >> 0x1f < (int)pcVar25" (binary_expression "(int)pppppppcVar6 >> 0x1f" (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) < (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }" if (parenthesized_expression "((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4))))" ( (binary_expression "(pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))" (parenthesized_expression "(pppppppcVar13 != (code *******)0x0)" ( (binary_expression "pppppppcVar13 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) || (parenthesized_expression "((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))" ( (parenthesized_expression "(pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4))" ( (binary_expression "pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)" (binary_expression "pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f)" identifier == (cast_expression "(code *)((int)pppppppcVar6 >> 0x1f)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar6 >> 0x1f)" ( (binary_expression "(int)pppppppcVar6 >> 0x1f" (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) && (parenthesized_expression "(pppppppcVar6 < param_4)" ( (binary_expression "pppppppcVar6 < param_4" identifier < identifier) ))) )) ))) )) (compound_statement "{\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }" { (expression_statement "uVar18 = (uint)param_4 >> 0x1f;" (assignment_expression "uVar18 = (uint)param_4 >> 0x1f" identifier = (binary_expression "(uint)param_4 >> 0x1f" (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "unaff_s4 = (code *******)((int)param_4 * 2);" (assignment_expression "unaff_s4 = (code *******)((int)param_4 * 2)" identifier = (cast_expression "(code *******)((int)param_4 * 2)" ( (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 "((int)param_4 * 2)" ( (binary_expression "(int)param_4 * 2" (cast_expression "(int)param_4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "param_4 = unaff_s4;" (assignment_expression "param_4 = unaff_s4" identifier = identifier) ;) (expression_statement "ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;" (assignment_expression "ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)" identifier = (cast_expression "(code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)" ( (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 *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_realloc64_0015b764)" ( (pointer_expression "*(code *)PTR_sqlite3_realloc64_0015b764" * (cast_expression "(code *)PTR_sqlite3_realloc64_0015b764" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)" ( (subscript_expression "param_2[0x10]" identifier [ number_literal ]) , identifier , (binary_expression "uVar18 | (int)pcVar25 * 2" identifier | (binary_expression "(int)pcVar25 * 2" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) , identifier ))))) ;) (if_statement "if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;" if (parenthesized_expression "(ppppppcVar7 == (code ******)0x0)" ( (binary_expression "ppppppcVar7 == (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_0011dbc4;" goto statement_identifier ;)) (expression_statement "param_2[0x10] = ppppppcVar7;" (assignment_expression "param_2[0x10] = ppppppcVar7" (subscript_expression "param_2[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "param_2[0x11] = (code ******)unaff_s4;" (assignment_expression "param_2[0x11] = (code ******)unaff_s4" (subscript_expression "param_2[0x11]" identifier [ number_literal ]) = (cast_expression "(code ******)unaff_s4" ( (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 "pppppppcVar13 = pppppppcVar24;" (assignment_expression "pppppppcVar13 = pppppppcVar24" identifier = identifier) ;) (expression_statement "iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);" (assignment_expression "iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10)" identifier = (call_expression "(*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10)" (parenthesized_expression "(*(code *)param_1)" ( (pointer_expression "*(code *)param_1" * (cast_expression "(code *)param_1" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,pppppppcVar24,(int)local_20 + 10)" ( identifier , identifier , (binary_expression "(int)local_20 + 10" (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0011db18;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;)) (expression_statement "pppppppcVar13 = pppppppcVar24;" (assignment_expression "pppppppcVar13 = pppppppcVar24" identifier = identifier) ;) (expression_statement "(*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);" (call_expression "(*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" ( (pointer_expression "*(code *)PTR_memcpy_0015ba30" * (cast_expression "(code *)PTR_memcpy_0015ba30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20)" ( (cast_expression "(code *)((int)local_24 + (int)param_2[0x10])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_24 + (int)param_2[0x10])" ( (binary_expression "(int)local_24 + (int)param_2[0x10]" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)param_2[0x10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[0x10]" identifier [ number_literal ]))) ))) , identifier , identifier ))) ;) (expression_statement "pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);" (assignment_expression "pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20)" identifier = (cast_expression "(code *)((int)pppppppcVar24 + (int)local_20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar24 + (int)local_20)" ( (binary_expression "(int)pppppppcVar24 + (int)local_20" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "param_2[0xf] = (code ******)((int)local_24 + (int)local_20);" (assignment_expression "param_2[0xf] = (code ******)((int)local_24 + (int)local_20)" (subscript_expression "param_2[0xf]" identifier [ number_literal ]) = (cast_expression "(code ******)((int)local_24 + (int)local_20)" ( (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)local_24 + (int)local_20)" ( (binary_expression "(int)local_24 + (int)local_20" (cast_expression "(int)local_24" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;" (assignment_expression "ppppppcVar7 = (code ******)(uint)(byte)*pcVar25" identifier = (binary_expression "(code ******)(uint)(byte)*pcVar25" (cast_expression "(code ******)(uint)(byte)" ( (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 "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier )))) * identifier)) ;) (if_statement "if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }" if (parenthesized_expression "((char)*pcVar25 < '\0')" ( (binary_expression "(char)*pcVar25 < '\0'" (cast_expression "(char)*pcVar25" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pcVar25" * identifier)) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }" { (expression_statement "pppppppcVar13 = param_2 + 0x13;" (assignment_expression "pppppppcVar13 = param_2 + 0x13" identifier = (binary_expression "param_2 + 0x13" identifier + number_literal)) ;) (expression_statement "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);" (assignment_expression "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25)" identifier = (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" ( (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" * (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" ( (binary_expression "PTR_LAB_0015b65c + 0x1084" identifier + number_literal) )))) )) (argument_list "(pcVar25)" ( identifier )))) ;) (expression_statement "ppppppcVar7 = param_2[0x13];" (assignment_expression "ppppppcVar7 = param_2[0x13]" identifier = (subscript_expression "param_2[0x13]" identifier [ number_literal ])) ;) }) (else_clause "else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }" else (compound_statement "{\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }" { (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" identifier = number_literal) ;) (expression_statement "param_2[0x13] = ppppppcVar7;" (assignment_expression "param_2[0x13] = ppppppcVar7" (subscript_expression "param_2[0x13]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "pppppppcVar24 = (code *******)(pcVar25 + iVar2);" (assignment_expression "pppppppcVar24 = (code *******)(pcVar25 + iVar2)" identifier = (cast_expression "(code *******)(pcVar25 + iVar2)" ( (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 "(pcVar25 + iVar2)" ( (binary_expression "pcVar25 + iVar2" identifier + identifier) )))) ;) (expression_statement "param_2[0x12] = (code ******)pppppppcVar24;" (assignment_expression "param_2[0x12] = (code ******)pppppppcVar24" (subscript_expression "param_2[0x12]" identifier [ number_literal ]) = (cast_expression "(code ******)pppppppcVar24" ( (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_2[0x14] = (code ******)0x0;" (assignment_expression "param_2[0x14] = (code ******)0x0" (subscript_expression "param_2[0x14]" 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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }" if (parenthesized_expression "((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10]))" ( (binary_expression "(int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "(int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])" (cast_expression "(int)param_2[0xb]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[0xb]" identifier [ number_literal ])) - (parenthesized_expression "((int)pppppppcVar24 - (int)param_2[10])" ( (binary_expression "(int)pppppppcVar24 - (int)param_2[10]" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_2[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[10]" identifier [ number_literal ]))) )))) )) (compound_statement "{\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (if_statement "if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;" if (parenthesized_expression "(param_2[0xc] != (code ******)0x0)" ( (binary_expression "param_2[0xc] != (code ******)0x0" (subscript_expression "param_2[0xc]" 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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_0011db18;" goto statement_identifier ;)) (expression_statement "pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);" (assignment_expression "pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7)" identifier = (cast_expression "(code *******)((int)pppppppcVar24 + (int)ppppppcVar7)" ( (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 "((int)pppppppcVar24 + (int)ppppppcVar7)" ( (binary_expression "(int)pppppppcVar24 + (int)ppppppcVar7" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;" if (parenthesized_expression "(*(code *)((int)pppppppcVar24 + -1) == (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcVar24 + -1) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar24 + -1)" * (cast_expression "(code *)((int)pppppppcVar24 + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar24 + -1)" ( (binary_expression "(int)pppppppcVar24 + -1" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0011da80;" goto statement_identifier ;)) })) })) })) (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" identifier = number_literal) ;) })) }))) (labeled_statement "LAB_0011db18:\n  if (local_1c == (code *******)*pppppppcVar26) {\n    return iVar2;\n  }" statement_identifier : (if_statement "if (local_1c == (code *******)*pppppppcVar26) {\n    return iVar2;\n  }" if (parenthesized_expression "(local_1c == (code *******)*pppppppcVar26)" ( (binary_expression "local_1c == (code *******)*pppppppcVar26" identifier == (cast_expression "(code *******)*pppppppcVar26" ( (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 "*" *)))))))) ) (pointer_expression "*pppppppcVar26" * identifier))) )) (compound_statement "{\n    return iVar2;\n  }" { (return_statement "return iVar2;" return identifier ;) }))) (expression_statement "pppppppcVar6 = local_1c;" (assignment_expression "pppppppcVar6 = local_1c" identifier = identifier) ;) (expression_statement "puVar32 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar32 = 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_108 = puVar32 + 0x45928;" (assignment_expression "puStack_108 = puVar32 + 0x45928" identifier = (binary_expression "puVar32 + 0x45928" identifier + number_literal)) ;) (expression_statement "pppppppcStack_68 = unaff_s4;" (assignment_expression "pppppppcStack_68 = unaff_s4" identifier = identifier) ;) (expression_statement "pppppppcStack_6c = param_1;" (assignment_expression "pppppppcStack_6c = param_1" identifier = identifier) ;) (expression_statement "puStack_70 = (undefined *)pppppppcVar26;" (assignment_expression "puStack_70 = (undefined *)pppppppcVar26" identifier = (cast_expression "(undefined *)pppppppcVar26" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pppppppcStack_74 = pppppppcVar24;" (assignment_expression "pppppppcStack_74 = pppppppcVar24" identifier = identifier) ;) (expression_statement "pppppppcStack_78 = param_2;" (assignment_expression "pppppppcStack_78 = param_2" identifier = identifier) ;) (expression_statement "piStack_98 = *(int **)(puVar32 + 0x3dda4);" (assignment_expression "piStack_98 = *(int **)(puVar32 + 0x3dda4)" identifier = (pointer_expression "*(int **)(puVar32 + 0x3dda4)" * (cast_expression "(int **)(puVar32 + 0x3dda4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + 0x3dda4)" ( (binary_expression "puVar32 + 0x3dda4" identifier + number_literal) ))))) ;) (expression_statement "pppppppcStack_c8 = pppppppcVar6;" (assignment_expression "pppppppcStack_c8 = pppppppcVar6" identifier = identifier) ;) (expression_statement "pppppppcStack_e0 = pppppppcVar13;" (assignment_expression "pppppppcStack_e0 = pppppppcVar13" identifier = identifier) ;) (expression_statement "piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4);" (assignment_expression "piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4)" identifier = (cast_expression "(int *)**(int **)(puVar32 + 0x3dda4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar32 + 0x3dda4)" * (pointer_expression "*(int **)(puVar32 + 0x3dda4)" * (cast_expression "(int **)(puVar32 + 0x3dda4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + 0x3dda4)" ( (binary_expression "puVar32 + 0x3dda4" identifier + number_literal) ))))))) ;) (expression_statement "pppppppcStack_a0 = (code *******)pppppppcVar13[1];" (assignment_expression "pppppppcStack_a0 = (code *******)pppppppcVar13[1]" identifier = (cast_expression "(code *******)pppppppcVar13[1]" ( (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 "*" *)))))))) ) (subscript_expression "pppppppcVar13[1]" identifier [ number_literal ]))) ;) (expression_statement "pppppppcVar29 = param_1;" (assignment_expression "pppppppcVar29 = param_1" identifier = identifier) ;) (if_statement "if (*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0) {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar2 = 0;\n    if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }" if (parenthesized_expression "(*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar6 + 0xeb)" * (cast_expression "(code *)((int)pppppppcVar6 + 0xeb)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar6 + 0xeb)" ( (binary_expression "(int)pppppppcVar6 + 0xeb" (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar2 = 0;\n    if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }\n  }" { (expression_statement "pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);" (assignment_expression "pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0)" identifier = (cast_expression "(code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0)" ( (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 "(*(int *)(puVar32 + 0x3da38) + -0x26f0)" ( (binary_expression "*(int *)(puVar32 + 0x3da38) + -0x26f0" (pointer_expression "*(int *)(puVar32 + 0x3da38)" * (cast_expression "(int *)(puVar32 + 0x3da38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3da38)" ( (binary_expression "puVar32 + 0x3da38" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (if_statement "if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }" if (parenthesized_expression "(pppppppcStack_a0 != (code *******)0x0)" ( (binary_expression "pppppppcStack_a0 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }" { (labeled_statement "LAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];" statement_identifier : (expression_statement "ppppppcStack_a4 = pppppppcVar13[3];" (assignment_expression "ppppppcStack_a4 = pppppppcVar13[3]" identifier = (subscript_expression "pppppppcVar13[3]" identifier [ number_literal ])) ;)) (expression_statement "unaff_s6 = pppppppcVar13[2];" (assignment_expression "unaff_s6 = pppppppcVar13[2]" identifier = (subscript_expression "pppppppcVar13[2]" identifier [ number_literal ])) ;) (expression_statement "pppppcStack_94 = ppppppcStack_a4[3];" (assignment_expression "pppppcStack_94 = ppppppcStack_a4[3]" identifier = (subscript_expression "ppppppcStack_a4[3]" identifier [ number_literal ])) ;) (expression_statement "pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);" (assignment_expression "pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758)" identifier = (cast_expression "(code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x3da4c) + -0x2758)" ( (binary_expression "*(int *)(puVar32 + 0x3da4c) + -0x2758" (pointer_expression "*(int *)(puVar32 + 0x3da4c)" * (cast_expression "(int *)(puVar32 + 0x3da4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3da4c)" ( (binary_expression "puVar32 + 0x3da4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppppppcStack_f0 = (code *******)*pppppppcVar13;" (assignment_expression "pppppppcStack_f0 = (code *******)*pppppppcVar13" identifier = (cast_expression "(code *******)*pppppppcVar13" ( (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 "*" *)))))))) ) (pointer_expression "*pppppppcVar13" * identifier))) ;) (expression_statement "pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);" (assignment_expression "pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384)" identifier = (cast_expression "(code *)(*(int *)(puVar32 + 0x3da70) + 0x5384)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x3da70) + 0x5384)" ( (binary_expression "*(int *)(puVar32 + 0x3da70) + 0x5384" (pointer_expression "*(int *)(puVar32 + 0x3da70)" * (cast_expression "(int *)(puVar32 + 0x3da70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3da70)" ( (binary_expression "puVar32 + 0x3da70" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);" (assignment_expression "pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74)" identifier = (cast_expression "(code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x3d9d4) + 0xf74)" ( (binary_expression "*(int *)(puVar32 + 0x3d9d4) + 0xf74" (pointer_expression "*(int *)(puVar32 + 0x3d9d4)" * (cast_expression "(int *)(puVar32 + 0x3d9d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3d9d4)" ( (binary_expression "puVar32 + 0x3d9d4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uStack_cc = (uint)pppppcStack_94 & 1;" (assignment_expression "uStack_cc = (uint)pppppcStack_94 & 1" identifier = (binary_expression "(uint)pppppcStack_94 & 1" (cast_expression "(uint)pppppcStack_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (do_statement "do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );" do (compound_statement "{\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      }" { (expression_statement "pppppppcVar6 = pppppppcStack_c8;" (assignment_expression "pppppppcVar6 = pppppppcStack_c8" identifier = identifier) ;) (expression_statement "pppppppcVar13 = pppppppcStack_e0;" (assignment_expression "pppppppcVar13 = pppppppcStack_e0" identifier = identifier) ;) (expression_statement "pppppppcVar24 = (code *******)0x0;" (assignment_expression "pppppppcVar24 = (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "param_2 = pppppppcStack_f0;" (assignment_expression "param_2 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "pppppppcVar29 = param_1;" (assignment_expression "pppppppcVar29 = param_1" identifier = identifier) ;) (if_statement "if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }" if (parenthesized_expression "(0 < (int)unaff_s6)" ( (binary_expression "0 < (int)unaff_s6" number_literal < (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }" { (do_statement "do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);" do (compound_statement "{\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          }" { (expression_statement "pppppppcVar26 = pppppppcVar13;" (assignment_expression "pppppppcVar26 = pppppppcVar13" identifier = identifier) ;) (expression_statement "pppppppcVar29 = pppppppcVar6;" (assignment_expression "pppppppcVar29 = pppppppcVar6" identifier = identifier) ;) (if_statement "if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }" if (parenthesized_expression "(*(char *)(*param_2 + 1) == '\0')" ( (binary_expression "*(char *)(*param_2 + 1) == '\0'" (pointer_expression "*(char *)(*param_2 + 1)" * (cast_expression "(char *)(*param_2 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_2 + 1)" ( (binary_expression "*param_2 + 1" (pointer_expression "*param_2" * identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }" { (expression_statement "iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);" (assignment_expression "iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2)" identifier = (call_expression "(*pcStack_b0)(pppppppcVar6,*param_2)" (parenthesized_expression "(*pcStack_b0)" ( (pointer_expression "*pcStack_b0" * identifier) )) (argument_list "(pppppppcVar6,*param_2)" ( identifier , (pointer_expression "*param_2" * identifier) )))) ;) (if_statement "if (iVar2 != 0) goto LAB_0011ddb4;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;)) }) (else_clause "else {\n              (*pcStack_ac)();\n            }" else (compound_statement "{\n              (*pcStack_ac)();\n            }" { (expression_statement "(*pcStack_ac)();" (call_expression "(*pcStack_ac)()" (parenthesized_expression "(*pcStack_ac)" ( (pointer_expression "*pcStack_ac" * identifier) )) (argument_list "()" ( ))) ;) }))) (expression_statement "unaff_s6 = pppppppcVar13[2];" (assignment_expression "unaff_s6 = pppppppcVar13[2]" identifier = (subscript_expression "pppppppcVar13[2]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);" (assignment_expression "pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1)" identifier = (cast_expression "(code *******)((int)pppppppcVar24 + 1)" ( (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 "((int)pppppppcVar24 + 1)" ( (binary_expression "(int)pppppppcVar24 + 1" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" identifier = (binary_expression "param_2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)pppppppcVar24 < (int)unaff_s6)" ( (binary_expression "(int)pppppppcVar24 < (int)unaff_s6" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "param_2 = pppppppcStack_f0;" (assignment_expression "param_2 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);" (assignment_expression "pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944)" identifier = (cast_expression "(code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_108 + -0x7f54) + 0x2944)" ( (binary_expression "*(int *)(puStack_108 + -0x7f54) + 0x2944" (pointer_expression "*(int *)(puStack_108 + -0x7f54)" * (cast_expression "(int *)(puStack_108 + -0x7f54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_108 + -0x7f54)" ( (binary_expression "puStack_108 + -0x7f54" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);" (assignment_expression "param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638)" identifier = (cast_expression "(code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638)" ( (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 "(*(int *)(puStack_108 + -0x7ed8) + -0x7638)" ( (binary_expression "*(int *)(puStack_108 + -0x7ed8) + -0x7638" (pointer_expression "*(int *)(puStack_108 + -0x7ed8)" * (cast_expression "(int *)(puStack_108 + -0x7ed8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_108 + -0x7ed8)" ( (binary_expression "puStack_108 + -0x7ed8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);" (call_expression "(*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4)" (parenthesized_expression "(*pcStack_c0)" ( (pointer_expression "*pcStack_c0" * identifier) )) (argument_list "(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "pppppppcStack_e0[2] = (code ******)0x0;" (assignment_expression "pppppppcStack_e0[2] = (code ******)0x0" (subscript_expression "pppppppcStack_e0[2]" 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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (if_statement "if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;" if (parenthesized_expression "((*param_2)[10] == (code *****)0x0)" ( (binary_expression "(*param_2)[10] == (code *****)0x0" (subscript_expression "(*param_2)[10]" (parenthesized_expression "(*param_2)" ( (pointer_expression "*param_2" * 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)) )) (goto_statement "goto LAB_0011de08;" goto statement_identifier ;)) (expression_statement "pppppppcVar26 = (code *******)(*param_2)[0xf];" (assignment_expression "pppppppcVar26 = (code *******)(*param_2)[0xf]" identifier = (cast_expression "(code *******)(*param_2)[0xf]" ( (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 "*" *)))))))) ) (subscript_expression "(*param_2)[0xf]" (parenthesized_expression "(*param_2)" ( (pointer_expression "*param_2" * identifier) )) [ number_literal ]))) ;) (expression_statement "pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;" (assignment_expression "pppppppcStack_e0[0xb] = (code ******)pppppppcVar26" (subscript_expression "pppppppcStack_e0[0xb]" identifier [ number_literal ]) = (cast_expression "(code ******)pppppppcVar26" ( (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_2 = (code *******)(*param_2)[0x10];" (assignment_expression "param_2 = (code *******)(*param_2)[0x10]" identifier = (cast_expression "(code *******)(*param_2)[0x10]" ( (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 "*" *)))))))) ) (subscript_expression "(*param_2)[0x10]" (parenthesized_expression "(*param_2)" ( (pointer_expression "*param_2" * identifier) )) [ number_literal ]))) ;) (expression_statement "pppppppcStack_e0[10] = (code ******)param_2;" (assignment_expression "pppppppcStack_e0[10] = (code ******)param_2" (subscript_expression "pppppppcStack_e0[10]" identifier [ number_literal ]) = (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 "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }" if (parenthesized_expression "((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0))" ( (binary_expression "(*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)" (parenthesized_expression "(*ppppppcStack_a4 != (code *****)0x0)" ( (binary_expression "*ppppppcStack_a4 != (code *****)0x0" (pointer_expression "*ppppppcStack_a4" * 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 "(((uint)pppppcStack_94 & 0x10) == 0)" ( (binary_expression "((uint)pppppcStack_94 & 0x10) == 0" (parenthesized_expression "((uint)pppppcStack_94 & 0x10)" ( (binary_expression "(uint)pppppcStack_94 & 0x10" (cast_expression "(uint)pppppcStack_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (if_statement "if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;" if (parenthesized_expression "(((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26))))" ( (binary_expression "((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))" (parenthesized_expression "((int)pppppppcVar26 < (int)ppppppcStack_a4[1])" ( (binary_expression "(int)pppppppcVar26 < (int)ppppppcStack_a4[1]" (cast_expression "(int)pppppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppppppcStack_a4[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcStack_a4[1]" identifier [ number_literal ]))) )) || (parenthesized_expression "((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))" ( (parenthesized_expression "(((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26))" ( (binary_expression "((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)" (binary_expression "((uint)pppppcStack_94 & 8) == 0" (parenthesized_expression "((uint)pppppcStack_94 & 8)" ( (binary_expression "(uint)pppppcStack_94 & 8" (cast_expression "(uint)pppppcStack_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) && (parenthesized_expression "(iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)" ( (comma_expression "iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26" (assignment_expression "iVar2 = 0" identifier = number_literal) , (binary_expression "(int)ppppppcStack_a4[1] < (int)pppppppcVar26" (cast_expression "(int)ppppppcStack_a4[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcStack_a4[1]" identifier [ number_literal ])) < (cast_expression "(int)pppppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);" (assignment_expression "iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2)" identifier = (call_expression "(**(code **)(puStack_108 + -0x7b94))(param_2)" (parenthesized_expression "(**(code **)(puStack_108 + -0x7b94))" ( (pointer_expression "**(code **)(puStack_108 + -0x7b94)" * (pointer_expression "*(code **)(puStack_108 + -0x7b94)" * (cast_expression "(code **)(puStack_108 + -0x7b94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_108 + -0x7b94)" ( (binary_expression "puStack_108 + -0x7b94" identifier + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar2 = 0;\n            break;\n          }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (break_statement "break;" break ;) })) })) (expression_statement "pppppppcVar13 = pppppppcStack_a0;" (assignment_expression "pppppppcVar13 = pppppppcStack_a0" identifier = identifier) ;) (if_statement "if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }" if (parenthesized_expression "((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf]))" ( (binary_expression "(((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])" (parenthesized_expression "(((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0))" ( (binary_expression "((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)" (parenthesized_expression "((int)pppppppcStack_a0 < 2)" ( (binary_expression "(int)pppppppcStack_a0 < 2" (cast_expression "(int)pppppppcStack_a0" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)" ( (comma_expression "ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0" (assignment_expression "ppppppcVar7 = pppppppcStack_f0[1]" identifier = (subscript_expression "pppppppcStack_f0[1]" identifier [ number_literal ])) , (binary_expression "ppppppcVar7[10] == (code *****)0x0" (subscript_expression "ppppppcVar7[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))) ))) )) || (parenthesized_expression "(pppppppcVar26 != (code *******)ppppppcVar7[0xf])" ( (binary_expression "pppppppcVar26 != (code *******)ppppppcVar7[0xf]" identifier != (cast_expression "(code *******)ppppppcVar7[0xf]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0xf]" identifier [ number_literal ]))) ))) )) (compound_statement "{\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }" { (labeled_statement "LAB_0011df14:\n          param_1 = pppppppcVar29;" statement_identifier : (expression_statement "param_1 = pppppppcVar29;" (assignment_expression "param_1 = pppppppcVar29" identifier = identifier) ;)) (expression_statement "pppppppcVar13 = pppppppcStack_e0;" (assignment_expression "pppppppcVar13 = pppppppcStack_e0" identifier = identifier) ;) (if_statement "if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }" if (parenthesized_expression "(((uint)pppppcStack_94 & 0x22) == 0)" ( (binary_expression "((uint)pppppcStack_94 & 0x22) == 0" (parenthesized_expression "((uint)pppppcStack_94 & 0x22)" ( (binary_expression "(uint)pppppcStack_94 & 0x22" (cast_expression "(uint)pppppcStack_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }" { (if_statement "if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }" if (parenthesized_expression "((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               ))" ( (binary_expression "(*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )" (parenthesized_expression "(*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_c8 + 0xeb)" * (cast_expression "(code *)((int)pppppppcStack_c8 + 0xeb)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_c8 + 0xeb)" ( (binary_expression "(int)pppppppcStack_c8 + 0xeb" (cast_expression "(int)pppppppcStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) || (parenthesized_expression "(iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )" ( (comma_expression "iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0" (assignment_expression "iVar2 = *(int *)(puStack_108 + -0x7eb8)" identifier = (pointer_expression "*(int *)(puStack_108 + -0x7eb8)" * (cast_expression "(int *)(puStack_108 + -0x7eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_108 + -0x7eb8)" ( (binary_expression "puStack_108 + -0x7eb8" identifier + number_literal) ))))) , (binary_expression "(*pppppppcStack_f0)[0xe] == (code *****)0x0" (subscript_expression "(*pppppppcStack_f0)[0xe]" (parenthesized_expression "(*pppppppcStack_f0)" ( (pointer_expression "*pppppppcStack_f0" * 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              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }" { (expression_statement "param_2 = (code *******)(*pppppppcStack_f0)[0x13];" (assignment_expression "param_2 = (code *******)(*pppppppcStack_f0)[0x13]" identifier = (cast_expression "(code *******)(*pppppppcStack_f0)[0x13]" ( (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 "*" *)))))))) ) (subscript_expression "(*pppppppcStack_f0)[0x13]" (parenthesized_expression "(*pppppppcStack_f0)" ( (pointer_expression "*pppppppcStack_f0" * identifier) )) [ number_literal ]))) ;) (expression_statement "pppppppcStack_e0[0xd] = (code ******)param_2;" (assignment_expression "pppppppcStack_e0[0xd] = (code ******)param_2" (subscript_expression "pppppppcStack_e0[0xd]" identifier [ number_literal ]) = (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 "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "ppppppcVar7 = *pppppppcStack_f0;" (assignment_expression "ppppppcVar7 = *pppppppcStack_f0" identifier = (pointer_expression "*pppppppcStack_f0" * identifier)) ;) (expression_statement "pppppppcVar26 = pppppppcVar13;" (assignment_expression "pppppppcVar26 = pppppppcVar13" identifier = identifier) ;) (expression_statement "pppppppcVar29 = param_1;" (assignment_expression "pppppppcVar29 = param_1" identifier = identifier) ;) (if_statement "if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }" if (parenthesized_expression "(ppppppcVar7[0xe] == (code *****)0x0)" ( (binary_expression "ppppppcVar7[0xe] == (code *****)0x0" (subscript_expression "ppppppcVar7[0xe]" 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                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }" { (expression_statement "pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];" (assignment_expression "pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12]" (subscript_expression "pppppppcStack_e0[0xc]" identifier [ number_literal ]) = (cast_expression "(code ******)ppppppcVar7[0x12]" ( (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 "ppppppcVar7[0x12]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }" else (compound_statement "{\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }" { (expression_statement "pppppppcVar24 = (code *******)ppppppcVar7[0x12];" (assignment_expression "pppppppcVar24 = (code *******)ppppppcVar7[0x12]" identifier = (cast_expression "(code *******)ppppppcVar7[0x12]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0x12]" identifier [ number_literal ]))) ;) (expression_statement "ppppppcVar7 = pppppppcStack_e0[4];" (assignment_expression "ppppppcVar7 = pppppppcStack_e0[4]" identifier = (subscript_expression "pppppppcStack_e0[4]" identifier [ number_literal ])) ;) (if_statement "if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }" if (parenthesized_expression "((int)pppppppcStack_e0[5] < (int)param_2)" ( (binary_expression "(int)pppppppcStack_e0[5] < (int)param_2" (cast_expression "(int)pppppppcStack_e0[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcStack_e0[5]" identifier [ number_literal ])) < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }" { (expression_statement "pcVar25 = *(code **)(puStack_108 + -0x7fc0);" (assignment_expression "pcVar25 = *(code **)(puStack_108 + -0x7fc0)" identifier = (pointer_expression "*(code **)(puStack_108 + -0x7fc0)" * (cast_expression "(code **)(puStack_108 + -0x7fc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_108 + -0x7fc0)" ( (binary_expression "puStack_108 + -0x7fc0" identifier + number_literal) ))))) ;) (expression_statement "pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);" (assignment_expression "pppppppcStack_e0[5] = (code ******)((int)param_2 << 1)" (subscript_expression "pppppppcStack_e0[5]" identifier [ number_literal ]) = (cast_expression "(code ******)((int)param_2 << 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)param_2 << 1)" ( (binary_expression "(int)param_2 << 1" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);" (assignment_expression "ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7)" identifier = (cast_expression "(code ******)(*pcVar25)(ppppppcVar7)" ( (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 "(*pcVar25)(ppppppcVar7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(ppppppcVar7)" ( identifier ))))) ;) (if_statement "if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }" if (parenthesized_expression "(ppppppcVar7 == (code ******)0x0)" ( (binary_expression "ppppppcVar7 == (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                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }" { (expression_statement "iVar2 = 7;" (assignment_expression "iVar2 = 7" identifier = number_literal) ;) (expression_statement "pppppppcStack_e0[2] = (code ******)0x1;" (assignment_expression "pppppppcStack_e0[2] = (code ******)0x1" (subscript_expression "pppppppcStack_e0[2]" 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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppcStack_e0[0xc] = pppppppcStack_e0[4];" (assignment_expression "pppppppcStack_e0[0xc] = pppppppcStack_e0[4]" (subscript_expression "pppppppcStack_e0[0xc]" identifier [ number_literal ]) = (subscript_expression "pppppppcStack_e0[4]" identifier [ number_literal ])) ;) (break_statement "break;" break ;) })) (expression_statement "pppppppcVar13[4] = ppppppcVar7;" (assignment_expression "pppppppcVar13[4] = ppppppcVar7" (subscript_expression "pppppppcVar13[4]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "(**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);" (call_expression "(**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2)" (parenthesized_expression "(**(code **)(puStack_108 + -0x7b80))" ( (pointer_expression "**(code **)(puStack_108 + -0x7b80)" * (pointer_expression "*(code **)(puStack_108 + -0x7b80)" * (cast_expression "(code **)(puStack_108 + -0x7b80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_108 + -0x7b80)" ( (binary_expression "puStack_108 + -0x7b80" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar7,pppppppcVar24,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "pppppppcStack_e0[0xc] = pppppppcStack_e0[4];" (assignment_expression "pppppppcStack_e0[0xc] = pppppppcStack_e0[4]" (subscript_expression "pppppppcStack_e0[0xc]" identifier [ number_literal ]) = (subscript_expression "pppppppcStack_e0[4]" identifier [ number_literal ])) ;) }))) (expression_statement "iVar2 = 100;" (assignment_expression "iVar2 = 100" identifier = number_literal) ;) (expression_statement "pppppppcStack_e0[2] = (code ******)0x1;" (assignment_expression "pppppppcStack_e0[2] = (code ******)0x1" (subscript_expression "pppppppcStack_e0[2]" 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 "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (break_statement "break;" break ;) })) }) (else_clause "else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }" else (compound_statement "{\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }" { (expression_statement "iVar2 = *(int *)(puStack_108 + -0x7eb8);" (assignment_expression "iVar2 = *(int *)(puStack_108 + -0x7eb8)" identifier = (pointer_expression "*(int *)(puStack_108 + -0x7eb8)" * (cast_expression "(int *)(puStack_108 + -0x7eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_108 + -0x7eb8)" ( (binary_expression "puStack_108 + -0x7eb8" identifier + number_literal) ))))) ;) }))) (expression_statement "unaff_s6 = (code ******)0x1;" (assignment_expression "unaff_s6 = (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 "(*(code *)(iVar2 + 0x605c))();" (call_expression "(*(code *)(iVar2 + 0x605c))()" (parenthesized_expression "(*(code *)(iVar2 + 0x605c))" ( (pointer_expression "*(code *)(iVar2 + 0x605c)" * (cast_expression "(code *)(iVar2 + 0x605c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x605c)" ( (binary_expression "iVar2 + 0x605c" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }" else (compound_statement "{\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }" { (expression_statement "pppppppcVar24 = pppppppcStack_f0 + 2;" (assignment_expression "pppppppcVar24 = pppppppcStack_f0 + 2" identifier = (binary_expression "pppppppcStack_f0 + 2" identifier + number_literal)) ;) (expression_statement "unaff_s6 = (code ******)0x1;" (assignment_expression "unaff_s6 = (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)) ;) (while_statement "while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }" while (parenthesized_expression "(iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0)" ( (comma_expression "iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0" (assignment_expression "iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26)" identifier = (call_expression "(**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26)" (parenthesized_expression "(**(code **)(puStack_108 + -0x7b94))" ( (pointer_expression "**(code **)(puStack_108 + -0x7b94)" * (pointer_expression "*(code **)(puStack_108 + -0x7b94)" * (cast_expression "(code **)(puStack_108 + -0x7b94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_108 + -0x7b94)" ( (binary_expression "puStack_108 + -0x7b94" identifier + number_literal) ))))) )) (argument_list "(param_2,ppppppcVar7[0x10],pppppppcVar26)" ( identifier , (subscript_expression "ppppppcVar7[0x10]" identifier [ number_literal ]) , identifier )))) , (comma_expression "param_1 = pppppppcStack_c8, iVar2 == 0" (assignment_expression "param_1 = pppppppcStack_c8" identifier = identifier) , (binary_expression "iVar2 == 0" identifier == number_literal))) )) (compound_statement "{\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }" { (expression_statement "unaff_s6 = (code ******)((int)unaff_s6 + 1);" (assignment_expression "unaff_s6 = (code ******)((int)unaff_s6 + 1)" identifier = (cast_expression "(code ******)((int)unaff_s6 + 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)unaff_s6 + 1)" ( (binary_expression "(int)unaff_s6 + 1" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;" if (parenthesized_expression "((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))" ( (binary_expression "(((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf])" (parenthesized_expression "(((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0))" ( (binary_expression "((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)" (parenthesized_expression "((int)pppppppcVar13 <= (int)unaff_s6)" ( (binary_expression "(int)pppppppcVar13 <= (int)unaff_s6" (cast_expression "(int)pppppppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)" ( (comma_expression "ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0" (assignment_expression "ppppppcVar7 = *pppppppcVar24" identifier = (pointer_expression "*pppppppcVar24" * identifier)) , (binary_expression "ppppppcVar7[10] == (code *****)0x0" (subscript_expression "ppppppcVar7[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))) ))) )) || (parenthesized_expression "(pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf])" ( (comma_expression "pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]" (assignment_expression "pppppppcVar24 = pppppppcVar24 + 1" identifier = (binary_expression "pppppppcVar24 + 1" identifier + number_literal)) , (binary_expression "pppppppcVar26 != (code *******)ppppppcVar7[0xf]" identifier != (cast_expression "(code *******)ppppppcVar7[0xf]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0xf]" identifier [ number_literal ])))) ))) )) (goto_statement "goto LAB_0011e64c;" goto statement_identifier ;)) })) (expression_statement "pppppppcVar29 = pppppppcVar13;" (assignment_expression "pppppppcVar29 = pppppppcVar13" identifier = identifier) ;) (if_statement "if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;" if (parenthesized_expression "(unaff_s6 == (code ******)0x1)" ( (binary_expression "unaff_s6 == (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)) )) (goto_statement "goto LAB_0011df14;" goto statement_identifier ;)) (labeled_statement "LAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);" statement_identifier : (expression_statement "iVar2 = *(int *)(puStack_108 + -0x7eb8);" (assignment_expression "iVar2 = *(int *)(puStack_108 + -0x7eb8)" identifier = (pointer_expression "*(int *)(puStack_108 + -0x7eb8)" * (cast_expression "(int *)(puStack_108 + -0x7eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_108 + -0x7eb8)" ( (binary_expression "puStack_108 + -0x7eb8" identifier + number_literal) ))))) ;)) (expression_statement "pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;" (assignment_expression "pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6" identifier = (binary_expression "pppppppcStack_f0 + (int)unaff_s6" identifier + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pppppppcVar26 = pppppppcStack_f0;" (assignment_expression "pppppppcVar26 = pppppppcStack_f0" identifier = identifier) ;) (do_statement "do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);" do (compound_statement "{\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          }" { (expression_statement "ppppppcVar7 = *pppppppcVar26;" (assignment_expression "ppppppcVar7 = *pppppppcVar26" identifier = (pointer_expression "*pppppppcVar26" * identifier)) ;) (expression_statement "pppppppcVar26 = pppppppcVar26 + 1;" (assignment_expression "pppppppcVar26 = pppppppcVar26 + 1" identifier = (binary_expression "pppppppcVar26 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);" (call_expression "(*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7)" (parenthesized_expression "(*(code *)(iVar2 + 0x605c))" ( (pointer_expression "*(code *)(iVar2 + 0x605c)" * (cast_expression "(code *)(iVar2 + 0x605c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x605c)" ( (binary_expression "iVar2 + 0x605c" identifier + number_literal) )))) )) (argument_list "(*(code *)((int)param_1 + 0xeb),ppppppcVar7)" ( (pointer_expression "*(code *)((int)param_1 + 0xeb)" * (cast_expression "(code *)((int)param_1 + 0xeb)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0xeb)" ( (binary_expression "(int)param_1 + 0xeb" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier ))) ;) }) while (parenthesized_expression "(pppppppcVar24 != pppppppcVar26)" ( (binary_expression "pppppppcVar24 != pppppppcVar26" identifier != identifier) )) ;) }))) (expression_statement "pppppppcVar24 = pppppppcStack_f0;" (assignment_expression "pppppppcVar24 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "param_4 = pppppppcStack_c4;" (assignment_expression "param_4 = pppppppcStack_c4" identifier = identifier) ;) (expression_statement "(*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);" (call_expression "(*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4)" (parenthesized_expression "(*pcStack_c0)" ( (pointer_expression "*pcStack_c0" * identifier) )) (argument_list "(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }" if (parenthesized_expression "((*pppppppcVar24)[0x14] != (code *****)0x0)" ( (binary_expression "(*pppppppcVar24)[0x14] != (code *****)0x0" (subscript_expression "(*pppppppcVar24)[0x14]" (parenthesized_expression "(*pppppppcVar24)" ( (pointer_expression "*pppppppcVar24" * 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          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }" { (expression_statement "unaff_s8 = &ppppppcStack_8c;" (assignment_expression "unaff_s8 = &ppppppcStack_8c" identifier = (pointer_expression "&ppppppcStack_8c" & identifier)) ;) (expression_statement "unaff_s7 = &ppppppcStack_90;" (assignment_expression "unaff_s7 = &ppppppcStack_90" identifier = (pointer_expression "&ppppppcStack_90" & identifier)) ;) (expression_statement "pppppppcStack_dc = (code *******)0x0;" (assignment_expression "pppppppcStack_dc = (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppcStack_d8 = (code *******)0x0;" (assignment_expression "pppppppcStack_d8 = (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);" (assignment_expression "pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb)" identifier = (cast_expression "(code *******)((int)pppppppcStack_c8 + 0xeb)" ( (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 "((int)pppppppcStack_c8 + 0xeb)" ( (binary_expression "(int)pppppppcStack_c8 + 0xeb" (cast_expression "(int)pppppppcStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppcStack_f4 = (code *******)0x0;" (assignment_expression "pppppppcStack_f4 = (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);" (assignment_expression "pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168)" identifier = (cast_expression "(code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_108 + -0x7eb8) + 0x6168)" ( (binary_expression "*(int *)(puStack_108 + -0x7eb8) + 0x6168" (pointer_expression "*(int *)(puStack_108 + -0x7eb8)" * (cast_expression "(int *)(puStack_108 + -0x7eb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_108 + -0x7eb8)" ( (binary_expression "puStack_108 + -0x7eb8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);" (assignment_expression "pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220)" identifier = (cast_expression "(code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_108 + -0x7f54) + 0x5220)" ( (binary_expression "*(int *)(puStack_108 + -0x7f54) + 0x5220" (pointer_expression "*(int *)(puStack_108 + -0x7f54)" * (cast_expression "(int *)(puStack_108 + -0x7f54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_108 + -0x7f54)" ( (binary_expression "puStack_108 + -0x7f54" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uStack_b8 = (uint)pppppcStack_94 & 4;" (assignment_expression "uStack_b8 = (uint)pppppcStack_94 & 4" identifier = (binary_expression "(uint)pppppcStack_94 & 4" (cast_expression "(uint)pppppcStack_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uStack_bc = (uint)pppppcStack_94 & 2;" (assignment_expression "uStack_bc = (uint)pppppcStack_94 & 2" identifier = (binary_expression "(uint)pppppcStack_94 & 2" (cast_expression "(uint)pppppcStack_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uStack_b4 = (uint)pppppcStack_94 & 0x20;" (assignment_expression "uStack_b4 = (uint)pppppcStack_94 & 0x20" identifier = (binary_expression "(uint)pppppcStack_94 & 0x20" (cast_expression "(uint)pppppcStack_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "pppppppcStack_d4 = unaff_s7;" (assignment_expression "pppppppcStack_d4 = unaff_s7" identifier = identifier) ;) (expression_statement "pppppppcStack_d0 = unaff_s8;" (assignment_expression "pppppppcStack_d0 = unaff_s8" identifier = identifier) ;) (do_statement "do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);" do (compound_statement "{\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          }" { (expression_statement "param_1 = pppppppcStack_f0;" (assignment_expression "param_1 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "ppppppcStack_90 = (code ******)0x0;" (assignment_expression "ppppppcStack_90 = (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 "ppppppcStack_8c = (code ******)0x0;" (assignment_expression "ppppppcStack_8c = (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 "ppppppcVar7 = *pppppppcStack_f0;" (assignment_expression "ppppppcVar7 = *pppppppcStack_f0" identifier = (pointer_expression "*pppppppcStack_f0" * identifier)) ;) (expression_statement "pppppppcVar24 = (code *******)ppppppcVar7[0x16];" (assignment_expression "pppppppcVar24 = (code *******)ppppppcVar7[0x16]" identifier = (cast_expression "(code *******)ppppppcVar7[0x16]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0x16]" identifier [ number_literal ]))) ;) (expression_statement "param_2 = (code *******)ppppppcVar7[0x17];" (assignment_expression "param_2 = (code *******)ppppppcVar7[0x17]" identifier = (cast_expression "(code *******)ppppppcVar7[0x17]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0x17]" identifier [ number_literal ]))) ;) (expression_statement "param_4 = pppppppcStack_d0;" (assignment_expression "param_4 = pppppppcStack_d0" identifier = identifier) ;) (expression_statement "(*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);" (call_expression "(*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0)" (parenthesized_expression "(*pcStack_fc)" ( (pointer_expression "*pcStack_fc" * identifier) )) (argument_list "(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0)" ( identifier , identifier , identifier , identifier ))) ;) (if_statement "if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }" if (parenthesized_expression "(unaff_s6 == (code ******)0x1)" ( (binary_expression "unaff_s6 == (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)) )) (compound_statement "{\n              unaff_s5 = (code ******)0x1;\n            }" { (expression_statement "unaff_s5 = (code ******)0x1;" (assignment_expression "unaff_s5 = (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              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }" else (compound_statement "{\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }" { (expression_statement "ppppppcVar7 = param_1[1];" (assignment_expression "ppppppcVar7 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "unaff_s5 = (code ******)0x1;" (assignment_expression "unaff_s5 = (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)) ;) (if_statement "if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }" if (parenthesized_expression "(((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2))" ( (binary_expression "((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)" (parenthesized_expression "((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24))" ( (binary_expression "(ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)" (parenthesized_expression "(ppppppcVar7[0x14] != (code *****)0x0)" ( (binary_expression "ppppppcVar7[0x14] != (code *****)0x0" (subscript_expression "ppppppcVar7[0x14]" 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)) )) && (parenthesized_expression "((code *******)ppppppcVar7[0x16] == pppppppcVar24)" ( (binary_expression "(code *******)ppppppcVar7[0x16] == pppppppcVar24" (cast_expression "(code *******)ppppppcVar7[0x16]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0x16]" identifier [ number_literal ])) == identifier) ))) )) && (parenthesized_expression "((code *******)ppppppcVar7[0x17] == param_2)" ( (binary_expression "(code *******)ppppppcVar7[0x17] == param_2" (cast_expression "(code *******)ppppppcVar7[0x17]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0x17]" identifier [ number_literal ])) == identifier) ))) )) (compound_statement "{\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }" { (expression_statement "param_1 = param_1 + 2;" (assignment_expression "param_1 = param_1 + 2" identifier = (binary_expression "param_1 + 2" identifier + number_literal)) ;) (while_statement "while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "unaff_s5 = (code ******)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (code ******)((int)unaff_s5 + 1)" identifier = (cast_expression "(code ******)((int)unaff_s5 + 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)unaff_s5 + 1)" ( (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "(*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);" (call_expression "(*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0)" (parenthesized_expression "(*pcStack_fc)" ( (pointer_expression "*pcStack_fc" * identifier) )) (argument_list "(pppppppcVar26,ppppppcVar7,0,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (if_statement "if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;" if (parenthesized_expression "((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0))" ( (binary_expression "(unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)" (parenthesized_expression "(unaff_s5 == unaff_s6)" ( (binary_expression "unaff_s5 == unaff_s6" identifier == identifier) )) || (parenthesized_expression "(ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)" ( (comma_expression "ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0" (assignment_expression "ppppppcVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) , (binary_expression "ppppppcVar7[0x14] == (code *****)0x0" (subscript_expression "ppppppcVar7[0x14]" 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))) ))) )) (break_statement "break;" break ;)) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" identifier = (binary_expression "param_1 + 1" identifier + number_literal)) ;) (if_statement "if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;" if (parenthesized_expression "(((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2))" ( (binary_expression "((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)" (parenthesized_expression "((code *******)ppppppcVar7[0x16] != pppppppcVar24)" ( (binary_expression "(code *******)ppppppcVar7[0x16] != pppppppcVar24" (cast_expression "(code *******)ppppppcVar7[0x16]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0x16]" identifier [ number_literal ])) != identifier) )) || (parenthesized_expression "((code *******)ppppppcVar7[0x17] != param_2)" ( (binary_expression "(code *******)ppppppcVar7[0x17] != param_2" (cast_expression "(code *******)ppppppcVar7[0x17]" ( (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 "*" *)))))))) ) (subscript_expression "ppppppcVar7[0x17]" identifier [ number_literal ])) != identifier) ))) )) (break_statement "break;" break ;)) })) })) }))) (if_statement "if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }" if (parenthesized_expression "(uStack_b8 != 0)" ( (binary_expression "uStack_b8 != 0" identifier != number_literal) )) (compound_statement "{\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }" { (expression_statement "param_4 = pppppppcStack_d0;" (assignment_expression "param_4 = pppppppcStack_d0" identifier = identifier) ;) (expression_statement "(*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);" (call_expression "(*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0)" (parenthesized_expression "(*pcStack_9c)" ( (pointer_expression "*pcStack_9c" * identifier) )) (argument_list "(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0)" ( (subscript_expression "ppppppcStack_a4[2]" identifier [ number_literal ]) , number_literal , identifier , identifier ))) ;) })) (expression_statement "pppppppcVar13 = pppppppcStack_e0;" (assignment_expression "pppppppcVar13 = pppppppcStack_e0" identifier = identifier) ;) (if_statement "if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }" if (parenthesized_expression "((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c))" ( (binary_expression "(uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)" (parenthesized_expression "(uStack_bc == 0)" ( (binary_expression "uStack_bc == 0" identifier == number_literal) )) || (parenthesized_expression "(pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)" ( (comma_expression "pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c" (assignment_expression "pppppppcVar6 = pppppppcStack_dc" identifier = identifier) , (comma_expression "pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c" (assignment_expression "pppppppcVar8 = pppppppcStack_d8" identifier = identifier) , (binary_expression "0 < (int)ppppppcStack_8c" number_literal < (cast_expression "(int)ppppppcStack_8c" ( (type_descriptor "int" primitive_type) ) identifier)))) ))) )) (compound_statement "{\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }" { (if_statement "if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" if (parenthesized_expression "(*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_c8 + 0xeb)" * (cast_expression "(code *)((int)pppppppcStack_c8 + 0xeb)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_c8 + 0xeb)" ( (binary_expression "(int)pppppppcStack_c8 + 0xeb" (cast_expression "(int)pppppppcStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }" { (expression_statement "unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);" (assignment_expression "unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8)" identifier = (cast_expression "(code *******)((int)param_2 - (int)pppppppcStack_d8)" ( (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 "((int)param_2 - (int)pppppppcStack_d8)" ( (binary_expression "(int)param_2 - (int)pppppppcStack_d8" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));" (assignment_expression "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc))" identifier = (cast_expression "(code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc))" ( (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 "((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc))" ( (binary_expression "(int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc)" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc)" ( (binary_expression "-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc" (unary_expression "-(uint)(param_2 < unaff_s4)" - (call_expression "(uint)(param_2 < unaff_s4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 < unaff_s4)" ( (binary_expression "param_2 < unaff_s4" identifier < identifier) )))) - (cast_expression "(int)pppppppcStack_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "pppppppcStack_e8 = unaff_s4;" (assignment_expression "pppppppcStack_e8 = unaff_s4" identifier = identifier) ;) (if_statement "if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }" if (parenthesized_expression "(((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0))))" ( (binary_expression "((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))" (parenthesized_expression "((int)pppppppcVar29 < 1)" ( (binary_expression "(int)pppppppcVar29 < 1" (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))" ( (parenthesized_expression "(pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0))" ( (binary_expression "pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)" (binary_expression "pppppppcVar29 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (parenthesized_expression "(unaff_s4 == (code *******)0x0)" ( (binary_expression "unaff_s4 == (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) ))) )) (compound_statement "{\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }" { (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" identifier = number_literal) ;) (if_statement "if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;" if (parenthesized_expression "(0 < (int)pppppppcStack_f4)" ( (binary_expression "0 < (int)pppppppcStack_f4" number_literal < (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;)) (labeled_statement "LAB_0011e414:\n                  iVar2 = 0x10b;" statement_identifier : (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" identifier = number_literal) ;)) (expression_statement "unaff_s4 = pppppppcStack_e8;" (assignment_expression "unaff_s4 = pppppppcStack_e8" identifier = identifier) ;) (if_statement "if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;" if (parenthesized_expression "(pppppppcVar24 != pppppppcVar29)" ( (binary_expression "pppppppcVar24 != pppppppcVar29" identifier != identifier) )) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;)) (if_statement "if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }" if (parenthesized_expression "(param_2 != pppppppcStack_e8)" ( (binary_expression "param_2 != pppppppcStack_e8" identifier != identifier) )) (compound_statement "{\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }" { (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" identifier = number_literal) ;) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;) })) })) }) (else_clause "else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" else (if_statement "if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" if (parenthesized_expression "((int)pppppppcStack_f4 < 1)" ( (binary_expression "(int)pppppppcStack_f4 < 1" (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }" { (expression_statement "pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);" (assignment_expression "pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8)" identifier = (cast_expression "(code *******)((int)param_2 - (int)pppppppcStack_d8)" ( (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 "((int)param_2 - (int)pppppppcStack_d8)" ( (binary_expression "(int)param_2 - (int)pppppppcStack_d8" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));" (assignment_expression "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc))" identifier = (cast_expression "(code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc))" ( (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 "((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc))" ( (binary_expression "(int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc)" (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc)" ( (binary_expression "-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc" (unary_expression "-(uint)(param_2 < pppppppcStack_e8)" - (call_expression "(uint)(param_2 < pppppppcStack_e8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 < pppppppcStack_e8)" ( (binary_expression "param_2 < pppppppcStack_e8" identifier < identifier) )))) - (cast_expression "(int)pppppppcStack_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (if_statement "if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;" if (parenthesized_expression "(((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   )" ( (binary_expression "((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))" (parenthesized_expression "((int)pppppppcVar29 < 1)" ( (binary_expression "(int)pppppppcVar29 < 1" (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))" ( (parenthesized_expression "(pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0))" ( (binary_expression "pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)" (binary_expression "pppppppcVar29 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (parenthesized_expression "(pppppppcStack_e8 == (code *******)0x0)" ( (binary_expression "pppppppcStack_e8 == (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))) )) ))) )) (goto_statement "goto LAB_0011e414;" goto statement_identifier ;)) }) (else_clause "else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" else (compound_statement "{\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" { (expression_statement "pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);" (assignment_expression "pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2)" identifier = (cast_expression "(code *******)((int)pppppppcStack_d8 - (int)param_2)" ( (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 "((int)pppppppcStack_d8 - (int)param_2)" ( (binary_expression "(int)pppppppcStack_d8 - (int)param_2" (cast_expression "(int)pppppppcStack_d8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));" (assignment_expression "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24))" identifier = (cast_expression "(code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24))" ( (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 "((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24))" ( (binary_expression "(int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24)" (cast_expression "(int)pppppppcStack_dc" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24)" ( (binary_expression "-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24" (unary_expression "-(uint)(pppppppcStack_d8 < pppppppcStack_e8)" - (call_expression "(uint)(pppppppcStack_d8 < pppppppcStack_e8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pppppppcStack_d8 < pppppppcStack_e8)" ( (binary_expression "pppppppcStack_d8 < pppppppcStack_e8" identifier < identifier) )))) - (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (if_statement "if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;" if (parenthesized_expression "(((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0))))" ( (binary_expression "((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))" (parenthesized_expression "((int)pppppppcVar29 < 1)" ( (binary_expression "(int)pppppppcVar29 < 1" (cast_expression "(int)pppppppcVar29" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) && (parenthesized_expression "((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))" ( (parenthesized_expression "(iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0))" ( (comma_expression "iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)" (assignment_expression "iVar2 = 0x10b" identifier = number_literal) , (comma_expression "unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)" (assignment_expression "unaff_s4 = pppppppcStack_e8" identifier = identifier) , (binary_expression "pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)" (binary_expression "pppppppcVar29 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (parenthesized_expression "(pppppppcStack_e8 == (code *******)0x0)" ( (binary_expression "pppppppcStack_e8 == (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ))))) )) ))) )) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;)) }))))) (expression_statement "unaff_s8 = pppppppcStack_e8;" (assignment_expression "unaff_s8 = pppppppcStack_e8" identifier = identifier) ;) (expression_statement "pppppppcVar6 = pppppppcStack_e8;" (assignment_expression "pppppppcVar6 = pppppppcStack_e8" identifier = identifier) ;) (expression_statement "pppppppcVar8 = pppppppcVar29;" (assignment_expression "pppppppcVar8 = pppppppcVar29" identifier = identifier) ;) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (do_statement "do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);" do (compound_statement "{\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              }" { (expression_statement "iVar3 = iVar2;" (assignment_expression "iVar3 = iVar2" identifier = identifier) ;) (expression_statement "uVar18 = (int)pppppppcVar8 << 0x19;" (assignment_expression "uVar18 = (int)pppppppcVar8 << 0x19" identifier = (binary_expression "(int)pppppppcVar8 << 0x19" (cast_expression "(int)pppppppcVar8" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);" (assignment_expression "pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7)" identifier = (cast_expression "(code *******)((uint)pppppppcVar8 >> 7)" ( (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 "((uint)pppppppcVar8 >> 7)" ( (binary_expression "(uint)pppppppcVar8 >> 7" (cast_expression "(uint)pppppppcVar8" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);" (assignment_expression "pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7)" identifier = (cast_expression "(code *******)(uVar18 | (uint)pppppppcVar6 >> 7)" ( (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 "(uVar18 | (uint)pppppppcVar6 >> 7)" ( (binary_expression "uVar18 | (uint)pppppppcVar6 >> 7" identifier | (binary_expression "(uint)pppppppcVar6 >> 7" (cast_expression "(uint)pppppppcVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "iVar2 = iVar3 + 1;" (assignment_expression "iVar2 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0)" ( (binary_expression "pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0" (binary_expression "pppppppcVar8 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (binary_expression "pppppppcVar6 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) )) ;) (if_statement "if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }" if (parenthesized_expression "(uStack_cc != 0)" ( (binary_expression "uStack_cc != 0" identifier != number_literal) )) (compound_statement "{\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }" { (expression_statement "iVar2 = (int)ppppppcStack_8c + iVar3 + 2;" (assignment_expression "iVar2 = (int)ppppppcStack_8c + iVar3 + 2" identifier = (binary_expression "(int)ppppppcStack_8c + iVar3 + 2" (binary_expression "(int)ppppppcStack_8c + iVar3" (cast_expression "(int)ppppppcStack_8c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal)) ;) })) (expression_statement "ppppppcVar7 = pppppppcStack_e0[4];" (assignment_expression "ppppppcVar7 = pppppppcStack_e0[4]" identifier = (subscript_expression "pppppppcStack_e0[4]" identifier [ number_literal ])) ;) (expression_statement "unaff_s4 = pppppppcStack_e8;" (assignment_expression "unaff_s4 = pppppppcStack_e8" identifier = identifier) ;) (expression_statement "unaff_s7 = pppppppcVar29;" (assignment_expression "unaff_s7 = pppppppcVar29" identifier = identifier) ;) (if_statement "if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }" if (parenthesized_expression "((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2)" ( (binary_expression "(int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2" (cast_expression "(int)pppppppcStack_e0[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcStack_e0[5]" identifier [ number_literal ])) < (binary_expression "(int)pppppppcStack_f4 + iVar2" (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) )) (compound_statement "{\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }" { (expression_statement "pcVar25 = *(code **)(puStack_108 + -0x7fc0);" (assignment_expression "pcVar25 = *(code **)(puStack_108 + -0x7fc0)" identifier = (pointer_expression "*(code **)(puStack_108 + -0x7fc0)" * (cast_expression "(code **)(puStack_108 + -0x7fc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_108 + -0x7fc0)" ( (binary_expression "puStack_108 + -0x7fc0" identifier + number_literal) ))))) ;) (expression_statement "pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);" (assignment_expression "pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2)" (subscript_expression "pppppppcStack_e0[5]" identifier [ number_literal ]) = (cast_expression "(code ******)((int)((int)pppppppcStack_f4 + iVar2) * 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)((int)pppppppcStack_f4 + iVar2) * 2)" ( (binary_expression "(int)((int)pppppppcStack_f4 + iVar2) * 2" (cast_expression "(int)((int)pppppppcStack_f4 + iVar2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pppppppcStack_f4 + iVar2)" ( (binary_expression "(int)pppppppcStack_f4 + iVar2" (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) * number_literal) )))) ;) (expression_statement "ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);" (assignment_expression "ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7)" identifier = (cast_expression "(code ******)(*pcVar25)(ppppppcVar7)" ( (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 "(*pcVar25)(ppppppcVar7)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(ppppppcVar7)" ( identifier ))))) ;) (expression_statement "unaff_s4 = pppppppcVar13;" (assignment_expression "unaff_s4 = pppppppcVar13" identifier = identifier) ;) (if_statement "if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }" if (parenthesized_expression "(ppppppcVar7 == (code ******)0x0)" ( (binary_expression "ppppppcVar7 == (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                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }" { (expression_statement "iVar2 = 7;" (assignment_expression "iVar2 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;) })) (expression_statement "pppppppcVar13[4] = ppppppcVar7;" (assignment_expression "pppppppcVar13[4] = ppppppcVar7" (subscript_expression "pppppppcVar13[4]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "param_1 = pppppppcStack_e0;" (assignment_expression "param_1 = pppppppcStack_e0" identifier = identifier) ;) (expression_statement "pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);" (assignment_expression "pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7)" identifier = (cast_expression "(code *)((int)pppppppcStack_f4 + (int)ppppppcVar7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_f4 + (int)ppppppcVar7)" ( (binary_expression "(int)pppppppcStack_f4 + (int)ppppppcVar7" (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pcVar25 = pcVar27;" (assignment_expression "pcVar25 = pcVar27" identifier = identifier) ;) (expression_statement "pppppppcVar13 = unaff_s8;" (assignment_expression "pppppppcVar13 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_ec = pcVar27;" (assignment_expression "pcStack_ec = pcVar27" identifier = identifier) ;) (expression_statement "pppppppcVar6 = pppppppcVar24;" (assignment_expression "pppppppcVar6 = pppppppcVar24" identifier = identifier) ;) (if_statement "if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }" if (parenthesized_expression "(uStack_b4 == 0)" ( (binary_expression "uStack_b4 == 0" identifier == number_literal) )) (compound_statement "{\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }" { (do_statement "do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);" do (compound_statement "{\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                }" { (expression_statement "pcVar14 = pcVar25;" (assignment_expression "pcVar14 = pcVar25" identifier = identifier) ;) (expression_statement "uVar18 = (int)unaff_s7 << 0x19;" (assignment_expression "uVar18 = (int)unaff_s7 << 0x19" identifier = (binary_expression "(int)unaff_s7 << 0x19" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "unaff_s7 = (code *******)((uint)unaff_s7 >> 7);" (assignment_expression "unaff_s7 = (code *******)((uint)unaff_s7 >> 7)" identifier = (cast_expression "(code *******)((uint)unaff_s7 >> 7)" ( (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 "((uint)unaff_s7 >> 7)" ( (binary_expression "(uint)unaff_s7 >> 7" (cast_expression "(uint)unaff_s7" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);" (assignment_expression "unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" identifier = (cast_expression "(code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" ( (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 "(uVar18 | (uint)pppppppcVar13 >> 7)" ( (binary_expression "uVar18 | (uint)pppppppcVar13 >> 7" identifier | (binary_expression "(uint)pppppppcVar13 >> 7" (cast_expression "(uint)pppppppcVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "bVar1 = (byte)pppppppcVar13;" (assignment_expression "bVar1 = (byte)pppppppcVar13" identifier = (cast_expression "(byte)pppppppcVar13" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pcVar14 = (code)(bVar1 | 0x80);" (assignment_expression "*pcVar14 = (code)(bVar1 | 0x80)" (pointer_expression "*pcVar14" * identifier) = (call_expression "(code)(bVar1 | 0x80)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 | 0x80)" ( (binary_expression "bVar1 | 0x80" identifier | number_literal) )))) ;) (expression_statement "pcVar25 = pcVar14 + 1;" (assignment_expression "pcVar25 = pcVar14 + 1" identifier = (binary_expression "pcVar14 + 1" identifier + number_literal)) ;) (expression_statement "pppppppcVar13 = unaff_s8;" (assignment_expression "pppppppcVar13 = unaff_s8" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0)" ( (binary_expression "unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0" (binary_expression "unaff_s7 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) )) ;) (expression_statement "*pcVar14 = (code)(bVar1 & 0x7f);" (assignment_expression "*pcVar14 = (code)(bVar1 & 0x7f)" (pointer_expression "*pcVar14" * identifier) = (call_expression "(code)(bVar1 & 0x7f)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));" (assignment_expression "pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27))" identifier = (cast_expression "(code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27))" ( (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 "((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27))" ( (binary_expression "(int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27)" (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)(pcVar14 + 1) - (int)pcVar27)" ( (binary_expression "(int)(pcVar14 + 1) - (int)pcVar27" (cast_expression "(int)(pcVar14 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar14 + 1)" ( (binary_expression "pcVar14 + 1" identifier + number_literal) ))) - (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "pppppppcStack_f4 = pppppppcVar13;" (assignment_expression "pppppppcStack_f4 = pppppppcVar13" identifier = identifier) ;) (expression_statement "pppppppcVar8 = param_2;" (assignment_expression "pppppppcVar8 = param_2" identifier = identifier) ;) (if_statement "if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }" if (parenthesized_expression "(uStack_cc != 0)" ( (binary_expression "uStack_cc != 0" identifier != number_literal) )) (compound_statement "{\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }" { (expression_statement "(**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);" (call_expression "(**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c)" (parenthesized_expression "(**(code **)(puStack_108 + -0x7b80))" ( (pointer_expression "**(code **)(puStack_108 + -0x7b80)" * (pointer_expression "*(code **)(puStack_108 + -0x7b80)" * (cast_expression "(code **)(puStack_108 + -0x7b80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_108 + -0x7b80)" ( (binary_expression "puStack_108 + -0x7b80" identifier + number_literal) ))))) )) (argument_list "((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c)" ( (cast_expression "(code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar13 + (int)pppppppcStack_e0[4])" ( (binary_expression "(int)pppppppcVar13 + (int)pppppppcStack_e0[4]" (cast_expression "(int)pppppppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcStack_e0[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppcStack_e0[4]" identifier [ number_literal ]))) ))) , identifier , identifier ))) ;) (expression_statement "*(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;" (assignment_expression "*(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c)" * (cast_expression "(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c)" ( (binary_expression "(int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c" (binary_expression "(int)pppppppcVar13 + (int)param_1[4]" (cast_expression "(int)pppppppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)param_1[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[4]" identifier [ number_literal ]))) + (cast_expression "(int)ppppppcStack_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "unaff_s4 = pppppppcVar13;" (assignment_expression "unaff_s4 = pppppppcVar13" identifier = identifier) ;) (expression_statement "pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);" (assignment_expression "pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1)" identifier = (cast_expression "(code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1)" ( (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 "((int)pppppppcVar13 + (int)ppppppcStack_8c + 1)" ( (binary_expression "(int)pppppppcVar13 + (int)ppppppcStack_8c + 1" (binary_expression "(int)pppppppcVar13 + (int)ppppppcStack_8c" (cast_expression "(int)pppppppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcStack_8c" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) )))) ;) (expression_statement "pppppppcVar8 = param_2;" (assignment_expression "pppppppcVar8 = param_2" identifier = identifier) ;) })) }) (else_clause "else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }" else (compound_statement "{\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }" { (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcStack_90;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcStack_90" identifier = (binary_expression "(uint)(char)*(code *)ppppppcStack_90" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(code *)ppppppcStack_90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);" (assignment_expression "ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c)" identifier = (cast_expression "(code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c)" ( (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)ppppppcStack_90 + (int)ppppppcStack_8c)" ( (binary_expression "(int)ppppppcStack_90 + (int)ppppppcStack_8c" (cast_expression "(int)ppppppcStack_90" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppppcStack_8c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppppcVar7 = ppppppcStack_90;" (assignment_expression "ppppppcVar7 = ppppppcStack_90" identifier = identifier) ;) (if_statement "if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }" if (parenthesized_expression "(uVar18 == 1)" ( (binary_expression "uVar18 == 1" identifier == number_literal) )) (compound_statement "{\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }" { (expression_statement "pcVar25 = (code *)0x0;" (assignment_expression "pcVar25 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_1 = pppppppcVar29;" (assignment_expression "param_1 = pppppppcVar29" identifier = identifier) ;) (expression_statement "pppppppcVar6 = pppppppcStack_dc;" (assignment_expression "pppppppcVar6 = pppppppcStack_dc" identifier = identifier) ;) (expression_statement "pppppppcVar8 = pppppppcStack_d8;" (assignment_expression "pppppppcVar8 = pppppppcStack_d8" identifier = identifier) ;) (if_statement "if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }" if (parenthesized_expression "(ppppppcStack_90 < ppppppcVar31)" ( (binary_expression "ppppppcStack_90 < ppppppcVar31" identifier < identifier) )) (compound_statement "{\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }" { (expression_statement "iStack_e4 = 0;" (assignment_expression "iStack_e4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0011e284;" goto statement_identifier ;) })) }) (else_clause "else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }" else (compound_statement "{\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }" { (expression_statement "pcVar25 = (code *)0x0;" (assignment_expression "pcVar25 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pppppppcVar13 = pppppppcStack_e8;" (assignment_expression "pppppppcVar13 = pppppppcStack_e8" identifier = identifier) ;) (expression_statement "pppppppcVar6 = pppppppcVar29;" (assignment_expression "pppppppcVar6 = pppppppcVar29" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar27;" (assignment_expression "pcVar14 = pcVar27" identifier = identifier) ;) (if_statement "if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }" if (parenthesized_expression "(uVar18 == 2)" ( (binary_expression "uVar18 == 2" identifier == number_literal) )) (compound_statement "{\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }" { (do_statement "do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;" do (compound_statement "{\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    }" { (expression_statement "pcVar25 = pcVar14;" (assignment_expression "pcVar25 = pcVar14" identifier = identifier) ;) (expression_statement "uVar18 = (int)pppppppcVar6 << 0x19;" (assignment_expression "uVar18 = (int)pppppppcVar6 << 0x19" identifier = (binary_expression "(int)pppppppcVar6 << 0x19" (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pcVar14 = pcVar25 + 1;" (assignment_expression "pcVar14 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) (expression_statement "pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);" (assignment_expression "pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7)" identifier = (cast_expression "(code *******)((uint)pppppppcVar6 >> 7)" ( (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 "((uint)pppppppcVar6 >> 7)" ( (binary_expression "(uint)pppppppcVar6 >> 7" (cast_expression "(uint)pppppppcVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);" (assignment_expression "pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" identifier = (cast_expression "(code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" ( (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 "(uVar18 | (uint)pppppppcVar13 >> 7)" ( (binary_expression "uVar18 | (uint)pppppppcVar13 >> 7" identifier | (binary_expression "(uint)pppppppcVar13 >> 7" (cast_expression "(uint)pppppppcVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "bVar1 = (byte)pppppppcVar13;" (assignment_expression "bVar1 = (byte)pppppppcVar13" identifier = (cast_expression "(byte)pppppppcVar13" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pcVar25 = (code)(bVar1 | 0x80);" (assignment_expression "*pcVar25 = (code)(bVar1 | 0x80)" (pointer_expression "*pcVar25" * identifier) = (call_expression "(code)(bVar1 | 0x80)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 | 0x80)" ( (binary_expression "bVar1 | 0x80" identifier | number_literal) )))) ;) (expression_statement "pppppppcVar13 = pppppppcVar8;" (assignment_expression "pppppppcVar13 = pppppppcVar8" identifier = identifier) ;) }) while (parenthesized_expression "(pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)" ( (binary_expression "pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0" (binary_expression "pppppppcVar6 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (binary_expression "pppppppcVar8 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) )) ;) (expression_statement "*pcVar25 = (code)(bVar1 & 0x7f);" (assignment_expression "*pcVar25 = (code)(bVar1 & 0x7f)" (pointer_expression "*pcVar25" * identifier) = (call_expression "(code)(bVar1 & 0x7f)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "pcVar25 = pcVar14 + (1 - (int)pcVar27);" (assignment_expression "pcVar25 = pcVar14 + (1 - (int)pcVar27)" identifier = (binary_expression "pcVar14 + (1 - (int)pcVar27)" identifier + (parenthesized_expression "(1 - (int)pcVar27)" ( (binary_expression "1 - (int)pcVar27" number_literal - (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*pcVar14 = (code)0x2;" (assignment_expression "*pcVar14 = (code)0x2" (pointer_expression "*pcVar14" * identifier) = (cast_expression "(code)0x2" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcStack_90;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcStack_90" identifier = (binary_expression "(uint)(char)*(code *)ppppppcStack_90" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(code *)ppppppcStack_90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iStack_e4 = 1;" (assignment_expression "iStack_e4 = 1" identifier = number_literal) ;) (expression_statement "uVar17 = uVar18;" (assignment_expression "uVar17 = uVar18" identifier = identifier) ;) }) (else_clause "else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }" else (compound_statement "{\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }" { (expression_statement "iStack_e4 = 0;" (assignment_expression "iStack_e4 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = uVar18;" (assignment_expression "uVar17 = uVar18" identifier = identifier) ;) }))) (for_statement "for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }" for ( ; (binary_expression "(uVar17 & 0xfe) != 0" (parenthesized_expression "(uVar17 & 0xfe)" ( (binary_expression "uVar17 & 0xfe" identifier & number_literal) )) != number_literal) ; (assignment_expression "uVar17 = uVar18 | uVar17" identifier = (binary_expression "uVar18 | uVar17" identifier | identifier)) ) (compound_statement "{\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }" { (expression_statement "uVar17 = uVar18 & 0xffffff80;" (assignment_expression "uVar17 = uVar18 & 0xffffff80" identifier = (binary_expression "uVar18 & 0xffffff80" identifier & number_literal)) ;) (expression_statement "uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);" (assignment_expression "uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1)" identifier = (binary_expression "(uint)(char)*(code *)((int)ppppppcVar7 + 1)" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(code *)((int)ppppppcVar7 + 1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcVar7 + 1)" ( (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);" (assignment_expression "ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1)" identifier = (cast_expression "(code ******)((int)ppppppcVar7 + 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)ppppppcVar7 + 1)" ( (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (if_statement "if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }" if (parenthesized_expression "(ppppppcVar7 < ppppppcVar31)" ( (binary_expression "ppppppcVar7 < ppppppcVar31" identifier < identifier) )) (compound_statement "{\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }" { (labeled_statement "LAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;" statement_identifier : (expression_statement "unaff_s4 = &ppppppcStack_88;" (assignment_expression "unaff_s4 = &ppppppcStack_88" identifier = (pointer_expression "&ppppppcStack_88" & identifier)) ;)) (expression_statement "unaff_s7 = (code *******)&SUB_00000002;" (assignment_expression "unaff_s7 = (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "unaff_s8 = (code *******)0xffffff80;" (assignment_expression "unaff_s8 = (code *******)0xffffff80" identifier = (cast_expression "(code *******)0xffffff80" ( (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 "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);" (assignment_expression "pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1)" identifier = (cast_expression "(code *******)((int)ppppppcVar7 + 1)" ( (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 "((int)ppppppcVar7 + 1)" ( (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppcStack_a8 = pppppppcVar29;" (assignment_expression "pppppppcStack_a8 = pppppppcVar29" identifier = identifier) ;) (do_statement "do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);" do (compound_statement "{\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    }" { (expression_statement "iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);" (assignment_expression "iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4)" identifier = (call_expression "(*pcStack_f8)(pppppppcVar13,unaff_s4)" (parenthesized_expression "(*pcStack_f8)" ( (pointer_expression "*pcStack_f8" * identifier) )) (argument_list "(pppppppcVar13,unaff_s4)" ( identifier , identifier )))) ;) (expression_statement "ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);" (assignment_expression "ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2)" identifier = (cast_expression "(code ******)((int)pppppppcVar13 + iVar2)" ( (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)pppppppcVar13 + iVar2)" ( (binary_expression "(int)pppppppcVar13 + iVar2" (cast_expression "(int)pppppppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcVar7;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcVar7" identifier = (binary_expression "(uint)(char)*(code *)ppppppcVar7" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(code *)ppppppcVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar17 = uVar18;" (assignment_expression "uVar17 = uVar18" identifier = identifier) ;) (if_statement "if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }" if (parenthesized_expression "(uVar18 == 2)" ( (binary_expression "uVar18 == 2" identifier == number_literal) )) (compound_statement "{\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }" { (expression_statement "pcVar21 = pcVar27 + (int)pcVar25;" (assignment_expression "pcVar21 = pcVar27 + (int)pcVar25" identifier = (binary_expression "pcVar27 + (int)pcVar25" identifier + (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pppppppcVar13 = pppppppcStack_e8;" (assignment_expression "pppppppcVar13 = pppppppcStack_e8" identifier = identifier) ;) (expression_statement "pppppppcVar6 = pppppppcStack_a8;" (assignment_expression "pppppppcVar6 = pppppppcStack_a8" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar21;" (assignment_expression "pcVar14 = pcVar21" identifier = identifier) ;) (if_statement "if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }" if (parenthesized_expression "(iStack_e4 == 0)" ( (binary_expression "iStack_e4 == 0" identifier == number_literal) )) (compound_statement "{\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }" { (do_statement "do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);" do (compound_statement "{\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          }" { (expression_statement "pcVar20 = pcVar14;" (assignment_expression "pcVar20 = pcVar14" identifier = identifier) ;) (expression_statement "uVar18 = (int)pppppppcVar6 << 0x19;" (assignment_expression "uVar18 = (int)pppppppcVar6 << 0x19" identifier = (binary_expression "(int)pppppppcVar6 << 0x19" (cast_expression "(int)pppppppcVar6" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);" (assignment_expression "pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7)" identifier = (cast_expression "(code *******)((uint)pppppppcVar6 >> 7)" ( (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 "((uint)pppppppcVar6 >> 7)" ( (binary_expression "(uint)pppppppcVar6 >> 7" (cast_expression "(uint)pppppppcVar6" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);" (assignment_expression "pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" identifier = (cast_expression "(code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" ( (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 "(uVar18 | (uint)pppppppcVar13 >> 7)" ( (binary_expression "uVar18 | (uint)pppppppcVar13 >> 7" identifier | (binary_expression "(uint)pppppppcVar13 >> 7" (cast_expression "(uint)pppppppcVar13" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) )))) ;) (expression_statement "bVar1 = (byte)pppppppcVar13;" (assignment_expression "bVar1 = (byte)pppppppcVar13" identifier = (cast_expression "(byte)pppppppcVar13" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pcVar20 = (code)(bVar1 | 0x80);" (assignment_expression "*pcVar20 = (code)(bVar1 | 0x80)" (pointer_expression "*pcVar20" * identifier) = (call_expression "(code)(bVar1 | 0x80)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 | 0x80)" ( (binary_expression "bVar1 | 0x80" identifier | number_literal) )))) ;) (expression_statement "pppppppcVar13 = pppppppcVar29;" (assignment_expression "pppppppcVar13 = pppppppcVar29" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar20 + 1;" (assignment_expression "pcVar14 = pcVar20 + 1" identifier = (binary_expression "pcVar20 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0)" ( (binary_expression "pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0" (binary_expression "pppppppcVar6 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (binary_expression "pppppppcVar29 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) )) ;) (expression_statement "pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);" (assignment_expression "pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21)" identifier = (binary_expression "pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21)" (binary_expression "pcVar20 + 1" identifier + number_literal) + (parenthesized_expression "((int)pcVar25 - (int)pcVar21)" ( (binary_expression "(int)pcVar25 - (int)pcVar21" (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*pcVar20 = (code)(bVar1 & 0x7f);" (assignment_expression "*pcVar20 = (code)(bVar1 & 0x7f)" (pointer_expression "*pcVar20" * identifier) = (call_expression "(code)(bVar1 & 0x7f)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "pcVar21 = pcVar27 + (int)pcVar25;" (assignment_expression "pcVar21 = pcVar27 + (int)pcVar25" identifier = (binary_expression "pcVar27 + (int)pcVar25" identifier + (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "pcVar20 = pcVar25 + 1;" (assignment_expression "pcVar20 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar21 = (code)0x1;" (assignment_expression "*pcVar21 = (code)0x1" (pointer_expression "*pcVar21" * identifier) = (cast_expression "(code)0x1" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "uVar18 = uStack_84;" (assignment_expression "uVar18 = uStack_84" identifier = identifier) ;) (expression_statement "ppppppcVar10 = ppppppcStack_88;" (assignment_expression "ppppppcVar10 = ppppppcStack_88" identifier = identifier) ;) (expression_statement "pcVar14 = pcVar27 + (int)pcVar20;" (assignment_expression "pcVar14 = pcVar27 + (int)pcVar20" identifier = (binary_expression "pcVar27 + (int)pcVar20" identifier + (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (do_statement "do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);" do (compound_statement "{\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        }" { (expression_statement "pcVar25 = pcVar14;" (assignment_expression "pcVar25 = pcVar14" identifier = identifier) ;) (expression_statement "uVar17 = (int)ppppppcVar10 << 0x19;" (assignment_expression "uVar17 = (int)ppppppcVar10 << 0x19" identifier = (binary_expression "(int)ppppppcVar10 << 0x19" (cast_expression "(int)ppppppcVar10" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ;) (expression_statement "pcVar14 = pcVar25 + 1;" (assignment_expression "pcVar14 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) (expression_statement "ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);" (assignment_expression "ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7)" identifier = (cast_expression "(code ******)((uint)ppppppcVar10 >> 7)" ( (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)ppppppcVar10 >> 7)" ( (binary_expression "(uint)ppppppcVar10 >> 7" (cast_expression "(uint)ppppppcVar10" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar17 = uVar17 | uVar18 >> 7;" (assignment_expression "uVar17 = uVar17 | uVar18 >> 7" identifier = (binary_expression "uVar17 | uVar18 >> 7" identifier | (binary_expression "uVar18 >> 7" identifier >> number_literal))) ;) (expression_statement "bVar1 = (byte)uVar18;" (assignment_expression "bVar1 = (byte)uVar18" identifier = (cast_expression "(byte)uVar18" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*pcVar25 = (code)(bVar1 | 0x80);" (assignment_expression "*pcVar25 = (code)(bVar1 | 0x80)" (pointer_expression "*pcVar25" * identifier) = (call_expression "(code)(bVar1 | 0x80)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 | 0x80)" ( (binary_expression "bVar1 | 0x80" identifier | number_literal) )))) ;) (expression_statement "uVar18 = uVar17;" (assignment_expression "uVar18 = uVar17" identifier = identifier) ;) }) while (parenthesized_expression "(ppppppcVar10 != (code ******)0x0 || uVar17 != 0)" ( (binary_expression "ppppppcVar10 != (code ******)0x0 || uVar17 != 0" (binary_expression "ppppppcVar10 != (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)) || (binary_expression "uVar17 != 0" identifier != number_literal)) )) ;) (expression_statement "iStack_e4 = 1;" (assignment_expression "iStack_e4 = 1" identifier = number_literal) ;) (expression_statement "*pcVar25 = (code)(bVar1 & 0x7f);" (assignment_expression "*pcVar25 = (code)(bVar1 & 0x7f)" (pointer_expression "*pcVar25" * identifier) = (call_expression "(code)(bVar1 & 0x7f)" (parenthesized_expression "(code)" ( identifier )) (argument_list "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) )))) ;) (expression_statement "pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;" (assignment_expression "pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1" identifier = (binary_expression "pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1" (binary_expression "pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20))" identifier + (parenthesized_expression "((int)pcVar20 - (int)(pcVar27 + (int)pcVar20))" ( (binary_expression "(int)pcVar20 - (int)(pcVar27 + (int)pcVar20)" (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(pcVar27 + (int)pcVar20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar27 + (int)pcVar20)" ( (binary_expression "pcVar27 + (int)pcVar20" identifier + (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))) + number_literal)) ;) (expression_statement "pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;" (assignment_expression "pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2" (subscript_expression "pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))]" identifier [ (cast_expression "(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))" ( (binary_expression "pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20))" identifier + (parenthesized_expression "((int)pcVar20 - (int)(pcVar27 + (int)pcVar20))" ( (binary_expression "(int)pcVar20 - (int)(pcVar27 + (int)pcVar20)" (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(pcVar27 + (int)pcVar20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar27 + (int)pcVar20)" ( (binary_expression "pcVar27 + (int)pcVar20" identifier + (cast_expression "(int)pcVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))) ))) ]) = (cast_expression "(code)0x2" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcVar7;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcVar7" identifier = (binary_expression "(uint)(char)*(code *)ppppppcVar7" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(code *)ppppppcVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar17 = uVar18;" (assignment_expression "uVar17 = uVar18" identifier = identifier) ;) })) (for_statement "for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }" for ( ; (binary_expression "(uVar17 & 0xfe) != 0" (parenthesized_expression "(uVar17 & 0xfe)" ( (binary_expression "uVar17 & 0xfe" identifier & number_literal) )) != number_literal) ; (assignment_expression "uVar17 = uVar18 | uVar17" identifier = (binary_expression "uVar18 | uVar17" identifier | identifier)) ) (compound_statement "{\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }" { (expression_statement "ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);" (assignment_expression "ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1)" identifier = (cast_expression "(code ******)((int)ppppppcVar7 + 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)ppppppcVar7 + 1)" ( (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar17 = uVar18 & 0xffffff80;" (assignment_expression "uVar17 = uVar18 & 0xffffff80" identifier = (binary_expression "uVar18 & 0xffffff80" identifier & number_literal)) ;) (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcVar7;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcVar7" identifier = (binary_expression "(uint)(char)*(code *)ppppppcVar7" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(code *)ppppppcVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (expression_statement "pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);" (assignment_expression "pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1)" identifier = (cast_expression "(code *******)((int)ppppppcVar7 + 1)" ( (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 "((int)ppppppcVar7 + 1)" ( (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppcVar13 = pppppppcVar29;" (assignment_expression "pppppppcVar13 = pppppppcVar29" identifier = identifier) ;) }) while (parenthesized_expression "(ppppppcVar7 < ppppppcVar31)" ( (binary_expression "ppppppcVar7 < ppppppcVar31" identifier < identifier) )) ;) })) (if_statement "if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }" if (parenthesized_expression "(iStack_e4 != 0)" ( (binary_expression "iStack_e4 != 0" identifier != number_literal) )) (compound_statement "{\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }" { (expression_statement "pcVar27 = pcStack_ec + (int)pcVar25;" (assignment_expression "pcVar27 = pcStack_ec + (int)pcVar25" identifier = (binary_expression "pcStack_ec + (int)pcVar25" identifier + (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pcVar25 = pcVar25 + 1;" (assignment_expression "pcVar25 = pcVar25 + 1" identifier = (binary_expression "pcVar25 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar27 = (code)0x0;" (assignment_expression "*pcVar27 = (code)0x0" (pointer_expression "*pcVar27" * identifier) = (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) ;) })) (expression_statement "param_1 = pppppppcVar29;" (assignment_expression "param_1 = pppppppcVar29" identifier = identifier) ;) (expression_statement "pppppppcVar6 = pppppppcStack_dc;" (assignment_expression "pppppppcVar6 = pppppppcStack_dc" identifier = identifier) ;) (expression_statement "pppppppcVar8 = pppppppcStack_d8;" (assignment_expression "pppppppcVar8 = pppppppcStack_d8" identifier = identifier) ;) (if_statement "if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }" if (parenthesized_expression "(pcVar25 != (code *)0x0)" ( (binary_expression "pcVar25 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }" { (expression_statement "pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);" (assignment_expression "pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25)" identifier = (cast_expression "(code *******)((int)pppppppcStack_f4 + (int)pcVar25)" ( (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 "((int)pppppppcStack_f4 + (int)pcVar25)" ( (binary_expression "(int)pppppppcStack_f4 + (int)pcVar25" (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pcVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar6 = pppppppcVar24;" (assignment_expression "pppppppcVar6 = pppppppcVar24" identifier = identifier) ;) (expression_statement "pppppppcVar8 = param_2;" (assignment_expression "pppppppcVar8 = param_2" identifier = identifier) ;) })) }))) }))) })) (expression_statement "pppppppcStack_d8 = pppppppcVar8;" (assignment_expression "pppppppcStack_d8 = pppppppcVar8" identifier = identifier) ;) (expression_statement "pppppppcStack_dc = pppppppcVar6;" (assignment_expression "pppppppcStack_dc = pppppppcVar6" identifier = identifier) ;) (expression_statement "param_2 = pppppppcStack_f0;" (assignment_expression "param_2 = pppppppcStack_f0" identifier = identifier) ;) (expression_statement "param_4 = pppppppcStack_c4;" (assignment_expression "param_4 = pppppppcStack_c4" identifier = identifier) ;) (expression_statement "(*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);" (call_expression "(*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4)" (parenthesized_expression "(*pcStack_c0)" ( (pointer_expression "*pcStack_c0" * identifier) )) (argument_list "(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4)" ( identifier , identifier , identifier , identifier ))) ;) }) while (parenthesized_expression "((*param_2)[0x14] != (code *****)0x0)" ( (binary_expression "(*param_2)[0x14] != (code *****)0x0" (subscript_expression "(*param_2)[0x14]" (parenthesized_expression "(*param_2)" ( (pointer_expression "*param_2" * 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)) )) ;) (if_statement "if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;" if (parenthesized_expression "(0 < (int)pppppppcStack_f4)" ( (binary_expression "0 < (int)pppppppcStack_f4" number_literal < (cast_expression "(int)pppppppcStack_f4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011e6ac;" goto statement_identifier ;)) })) (expression_statement "pppppppcStack_e0[2] = unaff_s6;" (assignment_expression "pppppppcStack_e0[2] = unaff_s6" (subscript_expression "pppppppcStack_e0[2]" identifier [ number_literal ]) = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) }) (else_clause "else {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }" else (compound_statement "{\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }" { (expression_statement "pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);" (assignment_expression "pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674)" identifier = (cast_expression "(code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674)" ( (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 "(*(int *)(puVar32 + 0x3da38) + -0x2674)" ( (binary_expression "*(int *)(puVar32 + 0x3da38) + -0x2674" (pointer_expression "*(int *)(puVar32 + 0x3da38)" * (cast_expression "(int *)(puVar32 + 0x3da38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x3da38)" ( (binary_expression "puVar32 + 0x3da38" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;" if (parenthesized_expression "(pppppppcStack_a0 != (code *******)0x0)" ( (binary_expression "pppppppcStack_a0 != (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 "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_0011dd08;" goto statement_identifier ;)) (labeled_statement "LAB_0011de08:\n    iVar2 = 0;" statement_identifier : (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;)) }))) (labeled_statement "LAB_0011ddb4:\n  if (piStack_7c == (int *)*piStack_98) {\n    return iVar2;\n  }" statement_identifier : (if_statement "if (piStack_7c == (int *)*piStack_98) {\n    return iVar2;\n  }" if (parenthesized_expression "(piStack_7c == (int *)*piStack_98)" ( (binary_expression "piStack_7c == (int *)*piStack_98" identifier == (cast_expression "(int *)*piStack_98" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piStack_98" * identifier))) )) (compound_statement "{\n    return iVar2;\n  }" { (return_statement "return iVar2;" return identifier ;) }))) (expression_statement "pcVar25 = *(code **)(puStack_108 + -0x7ba0);" (assignment_expression "pcVar25 = *(code **)(puStack_108 + -0x7ba0)" identifier = (pointer_expression "*(code **)(puStack_108 + -0x7ba0)" * (cast_expression "(code **)(puStack_108 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_108 + -0x7ba0)" ( (binary_expression "puStack_108 + -0x7ba0" identifier + number_literal) ))))) ;) (expression_statement "uVar34 = 0x11e6f8;" (assignment_expression "uVar34 = 0x11e6f8" identifier = number_literal) ;) (expression_statement "piVar11 = piStack_7c;" (assignment_expression "piVar11 = piStack_7c" identifier = identifier) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar22 = *(int **)(pcVar25 + 0x3d334);" (assignment_expression "piVar22 = *(int **)(pcVar25 + 0x3d334)" identifier = (pointer_expression "*(int **)(pcVar25 + 0x3d334)" * (cast_expression "(int **)(pcVar25 + 0x3d334)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3d334)" ( (binary_expression "pcVar25 + 0x3d334" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = piVar11[0x1a];" (assignment_expression "iVar3 = piVar11[0x1a]" identifier = (subscript_expression "piVar11[0x1a]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = piVar11[0x19] + 1;" (assignment_expression "uVar18 = piVar11[0x19] + 1" identifier = (binary_expression "piVar11[0x19] + 1" (subscript_expression "piVar11[0x19]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "iVar2 = piVar11[0x1b];" (assignment_expression "iVar2 = piVar11[0x1b]" identifier = (subscript_expression "piVar11[0x1b]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = iVar3 + 1;" (assignment_expression "iVar15 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "iStack_144 = *piVar22;" (assignment_expression "iStack_144 = *piVar22" identifier = (pointer_expression "*piVar22" * identifier)) ;) (expression_statement "uVar12 = *(undefined4 *)(*piVar11 + 0xc);" (assignment_expression "uVar12 = *(undefined4 *)(*piVar11 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(*piVar11 + 0xc)" * (cast_expression "(undefined4 *)(*piVar11 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar11 + 0xc)" ( (binary_expression "*piVar11 + 0xc" (pointer_expression "*piVar11" * identifier) + number_literal) ))))) ;) (expression_statement "piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18];" (assignment_expression "piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18]" (subscript_expression "piVar11[0x18]" identifier [ number_literal ]) = (binary_expression "(uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18]" (call_expression "(uint)(uVar18 < (uint)piVar11[0x19])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar18 < (uint)piVar11[0x19])" ( (binary_expression "uVar18 < (uint)piVar11[0x19]" identifier < (cast_expression "(uint)piVar11[0x19]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar11[0x19]" identifier [ number_literal ]))) ))) + (subscript_expression "piVar11[0x18]" identifier [ number_literal ]))) ;) (expression_statement "piVar11[0x19] = uVar18;" (assignment_expression "piVar11[0x19] = uVar18" (subscript_expression "piVar11[0x19]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar11[0x1a] = iVar15;" (assignment_expression "piVar11[0x1a] = iVar15" (subscript_expression "piVar11[0x1a]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppppcStack_140 = param_2;" (assignment_expression "pppppppcStack_140 = param_2" identifier = identifier) ;) (expression_statement "pppppppcStack_13c = pppppppcVar24;" (assignment_expression "pppppppcStack_13c = pppppppcVar24" identifier = identifier) ;) (expression_statement "pppppppcStack_138 = pppppppcVar26;" (assignment_expression "pppppppcStack_138 = pppppppcVar26" identifier = identifier) ;) (expression_statement "pppppppcStack_134 = pppppppcVar29;" (assignment_expression "pppppppcStack_134 = pppppppcVar29" identifier = identifier) ;) (expression_statement "pppppppcStack_130 = unaff_s4;" (assignment_expression "pppppppcStack_130 = unaff_s4" identifier = identifier) ;) (expression_statement "ppppppcStack_12c = unaff_s5;" (assignment_expression "ppppppcStack_12c = unaff_s5" identifier = identifier) ;) (expression_statement "ppppppcStack_128 = unaff_s6;" (assignment_expression "ppppppcStack_128 = unaff_s6" identifier = identifier) ;) (expression_statement "pppppppcStack_124 = unaff_s7;" (assignment_expression "pppppppcStack_124 = unaff_s7" identifier = identifier) ;) (expression_statement "pppppppcStack_120 = unaff_s8;" (assignment_expression "pppppppcStack_120 = unaff_s8" identifier = identifier) ;) (expression_statement "uStack_11c = uVar34;" (assignment_expression "uStack_11c = uVar34" identifier = identifier) ;) (if_statement "if (iVar15 < iVar2) {\n    piVar16 = (int *)(iVar15 * 0x10);\n    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);\n    iVar15 = *piVar19;\n    if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }" if (parenthesized_expression "(iVar15 < iVar2)" ( (binary_expression "iVar15 < iVar2" identifier < identifier) )) (compound_statement "{\n    piVar16 = (int *)(iVar15 * 0x10);\n    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);\n    iVar15 = *piVar19;\n    if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }" { (expression_statement "piVar16 = (int *)(iVar15 * 0x10);" (assignment_expression "piVar16 = (int *)(iVar15 * 0x10)" identifier = (cast_expression "(int *)(iVar15 * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 * 0x10)" ( (binary_expression "iVar15 * 0x10" identifier * number_literal) )))) ;) (expression_statement "piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);" (assignment_expression "piVar19 = (int *)(piVar11[0x1c] + (int)piVar16)" identifier = (cast_expression "(int *)(piVar11[0x1c] + (int)piVar16)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar11[0x1c] + (int)piVar16)" ( (binary_expression "piVar11[0x1c] + (int)piVar16" (subscript_expression "piVar11[0x1c]" identifier [ number_literal ]) + (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar15 = *piVar19;" (assignment_expression "iVar15 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (if_statement "if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }" if (parenthesized_expression "(iVar15 < 1)" ( (binary_expression "iVar15 < 1" identifier < number_literal) )) (compound_statement "{\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }" { (if_statement "if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }" if (parenthesized_expression "((iVar15 == 0) && (piVar19[1] != 0))" ( (binary_expression "(iVar15 == 0) && (piVar19[1] != 0)" (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) && (parenthesized_expression "(piVar19[1] != 0)" ( (binary_expression "piVar19[1] != 0" (subscript_expression "piVar19[1]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n        iVar3 = 0;\n      }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }" else (compound_statement "{\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }" { (expression_statement "iVar3 = iVar3 + 2;" (assignment_expression "iVar3 = iVar3 + 2" identifier = (binary_expression "iVar3 + 2" identifier + number_literal)) ;) (expression_statement "iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;" (assignment_expression "iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10" identifier = (binary_expression "(int)piVar16 + piVar11[0x1c] + -0x10" (binary_expression "(int)piVar16 + piVar11[0x1c]" (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "piVar11[0x1c]" identifier [ number_literal ])) + number_literal)) ;) (do_statement "do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));" do (compound_statement "{\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        }" { (expression_statement "piVar11[0x1a] = iVar3;" (assignment_expression "piVar11[0x1a] = iVar3" (subscript_expression "piVar11[0x1a]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar3 == iVar2) goto LAB_0011e7d4;" if (parenthesized_expression "(iVar3 == iVar2)" ( (binary_expression "iVar3 == iVar2" identifier == identifier) )) (goto_statement "goto LAB_0011e7d4;" goto statement_identifier ;)) (expression_statement "piVar16 = *(int **)(iVar15 + 0x20);" (assignment_expression "piVar16 = *(int **)(iVar15 + 0x20)" identifier = (pointer_expression "*(int **)(iVar15 + 0x20)" * (cast_expression "(int **)(iVar15 + 0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (expression_statement "piVar19 = (int *)(iVar15 + 0x24);" (assignment_expression "piVar19 = (int *)(iVar15 + 0x24)" identifier = (cast_expression "(int *)(iVar15 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x24)" ( (binary_expression "iVar15 + 0x24" identifier + number_literal) )))) ;) (expression_statement "iVar15 = iVar15 + 0x10;" (assignment_expression "iVar15 = iVar15 + 0x10" identifier = (binary_expression "iVar15 + 0x10" identifier + number_literal)) ;) (if_statement "if (0 < (int)piVar16) goto LAB_0011e880;" if (parenthesized_expression "(0 < (int)piVar16)" ( (binary_expression "0 < (int)piVar16" number_literal < (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0011e880;" goto statement_identifier ;)) }) while (parenthesized_expression "((piVar16 != (int *)0x0) || (*piVar19 == 0))" ( (binary_expression "(piVar16 != (int *)0x0) || (*piVar19 == 0)" (parenthesized_expression "(piVar16 != (int *)0x0)" ( (binary_expression "piVar16 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*piVar19 == 0)" ( (binary_expression "*piVar19 == 0" (pointer_expression "*piVar19" * identifier) == number_literal) ))) )) ;) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0011e884;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }" else (compound_statement "{\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }" { (labeled_statement "LAB_0011e7d4:\n    piVar16 = piVar11 + 1;" statement_identifier : (expression_statement "piVar16 = piVar11 + 1;" (assignment_expression "piVar16 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;)) (expression_statement "iVar3 = FUN_0011dc88(uVar12);" (assignment_expression "iVar3 = FUN_0011dc88(uVar12)" identifier = (call_expression "FUN_0011dc88(uVar12)" identifier (argument_list "(uVar12)" ( identifier )))) ;) (if_statement "if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }" if (parenthesized_expression "(iVar3 != 100)" ( (binary_expression "iVar3 != 100" identifier != number_literal) )) (compound_statement "{\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }" { (expression_statement "piVar11[0x16] = 1;" (assignment_expression "piVar11[0x16] = 1" (subscript_expression "piVar11[0x16]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0011e884;" goto statement_identifier ;) })) (if_statement "if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }" if (parenthesized_expression "(piVar11[0x13] != 0)" ( (binary_expression "piVar11[0x13] != 0" (subscript_expression "piVar11[0x13]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }" { (expression_statement "iVar15 = piVar11[0xc];" (assignment_expression "iVar15 = piVar11[0xc]" identifier = (subscript_expression "piVar11[0xc]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar11[0x14];" (assignment_expression "iVar3 = piVar11[0x14]" identifier = (subscript_expression "piVar11[0x14]" identifier [ number_literal ])) ;) (expression_statement "piVar16 = (int *)piVar11[0xb];" (assignment_expression "piVar16 = (int *)piVar11[0xb]" identifier = (cast_expression "(int *)piVar11[0xb]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[0xb]" identifier [ number_literal ]))) ;) (expression_statement "iVar2 = iVar15;" (assignment_expression "iVar2 = iVar15" identifier = identifier) ;) (if_statement "if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }" if (parenthesized_expression "(iVar3 < iVar15)" ( (binary_expression "iVar3 < iVar15" identifier < identifier) )) (compound_statement "{\n        iVar2 = iVar3;\n      }" { (expression_statement "iVar2 = iVar3;" (assignment_expression "iVar2 = iVar3" identifier = identifier) ;) })) (expression_statement "iVar4 = (**(code **)(pcVar25 + 0x3d324))();" (assignment_expression "iVar4 = (**(code **)(pcVar25 + 0x3d324))()" identifier = (call_expression "(**(code **)(pcVar25 + 0x3d324))()" (parenthesized_expression "(**(code **)(pcVar25 + 0x3d324))" ( (pointer_expression "**(code **)(pcVar25 + 0x3d324)" * (pointer_expression "*(code **)(pcVar25 + 0x3d324)" * (cast_expression "(code **)(pcVar25 + 0x3d324)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3d324)" ( (binary_expression "pcVar25 + 0x3d324" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }" if (parenthesized_expression "((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15))))" ( (binary_expression "(iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))" (parenthesized_expression "(iVar4 < 0)" ( (binary_expression "iVar4 < 0" identifier < number_literal) )) || (parenthesized_expression "((iVar4 == 0 && (iVar3 < iVar15)))" ( (parenthesized_expression "(iVar4 == 0 && (iVar3 < iVar15))" ( (binary_expression "iVar4 == 0 && (iVar3 < iVar15)" (binary_expression "iVar4 == 0" identifier == number_literal) && (parenthesized_expression "(iVar3 < iVar15)" ( (binary_expression "iVar3 < iVar15" identifier < identifier) ))) )) ))) )) (compound_statement "{\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "piVar11[0x16] = 1;" (assignment_expression "piVar11[0x16] = 1" (subscript_expression "piVar11[0x16]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0011e884;" goto statement_identifier ;) })) })) (expression_statement "iVar2 = piVar11[0x1b];" (assignment_expression "iVar2 = piVar11[0x1b]" identifier = (subscript_expression "piVar11[0x1b]" identifier [ number_literal ])) ;) (expression_statement "iVar3 = piVar11[0xe];" (assignment_expression "iVar3 = piVar11[0xe]" identifier = (subscript_expression "piVar11[0xe]" identifier [ number_literal ])) ;) (expression_statement "iVar15 = piVar11[0xd];" (assignment_expression "iVar15 = piVar11[0xd]" identifier = (subscript_expression "piVar11[0xd]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }" if (parenthesized_expression "(iVar2 < 2)" ( (binary_expression "iVar2 < 2" identifier < number_literal) )) (compound_statement "{\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }" { (expression_statement "iVar2 = 2;" (assignment_expression "iVar2 = 2" identifier = number_literal) ;) (expression_statement "piVar16 = piVar11 + 0x1c;" (assignment_expression "piVar16 = piVar11 + 0x1c" identifier = (binary_expression "piVar11 + 0x1c" identifier + number_literal)) ;) (expression_statement "iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);" (assignment_expression "iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b)" identifier = (call_expression "(*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b)" (parenthesized_expression "(*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))" ( (pointer_expression "*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88)" * (cast_expression "(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x3d024) + -0x5e88)" ( (binary_expression "*(int *)(pcVar25 + 0x3d024) + -0x5e88" (pointer_expression "*(int *)(pcVar25 + 0x3d024)" * (cast_expression "(int *)(pcVar25 + 0x3d024)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3d024)" ( (binary_expression "pcVar25 + 0x3d024" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(piVar11 + 0x1b)" ( (binary_expression "piVar11 + 0x1b" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }" { (labeled_statement "LAB_0011ec20:\n        iVar3 = 7;" statement_identifier : (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" identifier = number_literal) ;)) (goto_statement "goto LAB_0011e884;" goto statement_identifier ;) })) (expression_statement "iVar2 = piVar11[0x1b];" (assignment_expression "iVar2 = piVar11[0x1b]" identifier = (subscript_expression "piVar11[0x1b]" identifier [ number_literal ])) ;) })) (expression_statement "iVar2 = iVar2 << 4;" (assignment_expression "iVar2 = iVar2 << 4" identifier = (binary_expression "iVar2 << 4" identifier << number_literal)) ;) (expression_statement "piVar16 = (int *)0x0;" (assignment_expression "piVar16 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);" (call_expression "(**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c])" (parenthesized_expression "(**(code **)(pcVar25 + 0x3d2bc))" ( (pointer_expression "**(code **)(pcVar25 + 0x3d2bc)" * (pointer_expression "*(code **)(pcVar25 + 0x3d2bc)" * (cast_expression "(code **)(pcVar25 + 0x3d2bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3d2bc)" ( (binary_expression "pcVar25 + 0x3d2bc" identifier + number_literal) ))))) )) (argument_list "(piVar11[0x1c])" ( (subscript_expression "piVar11[0x1c]" identifier [ number_literal ]) ))) ;) (if_statement "if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }" if (parenthesized_expression "(0 < iVar3)" ( (binary_expression "0 < iVar3" number_literal < identifier) )) (compound_statement "{\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }" { (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);" (assignment_expression "pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74)" identifier = (cast_expression "(code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x3cf64) + 0xf74)" ( (binary_expression "*(int *)(pcVar25 + 0x3cf64) + 0xf74" (pointer_expression "*(int *)(pcVar25 + 0x3cf64)" * (cast_expression "(int *)(pcVar25 + 0x3cf64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3cf64)" ( (binary_expression "pcVar25 + 0x3cf64" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "iVar4 = (*pcVar27)(iVar15,&iStack_150);" (assignment_expression "iVar4 = (*pcVar27)(iVar15,&iStack_150)" identifier = (call_expression "(*pcVar27)(iVar15,&iStack_150)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15,&iStack_150)" ( identifier , (pointer_expression "&iStack_150" & identifier) )))) ;) (expression_statement "iVar30 = *(int *)(pcVar25 + 0x3d024);" (assignment_expression "iVar30 = *(int *)(pcVar25 + 0x3d024)" identifier = (pointer_expression "*(int *)(pcVar25 + 0x3d024)" * (cast_expression "(int *)(pcVar25 + 0x3d024)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3d024)" ( (binary_expression "pcVar25 + 0x3d024" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];" statement_identifier : (expression_statement "piVar9 = (int *)piVar11[0x1c];" (assignment_expression "piVar9 = (int *)piVar11[0x1c]" identifier = (cast_expression "(int *)piVar11[0x1c]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[0x1c]" identifier [ number_literal ]))) ;)) (expression_statement "piVar19 = (int *)piVar9[1];" (assignment_expression "piVar19 = (int *)piVar9[1]" identifier = (cast_expression "(int *)piVar9[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar2 = *piVar9;" (assignment_expression "iVar2 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "piVar16 = (int *)((int)piVar19 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar19 + 1)" identifier = (cast_expression "(int *)((int)piVar19 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + 1)" ( (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar9[1] = (int)piVar16;" (assignment_expression "piVar9[1] = (int)piVar16" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar9 = (uint)(piVar16 < piVar19) + iVar2;" (assignment_expression "*piVar9 = (uint)(piVar16 < piVar19) + iVar2" (pointer_expression "*piVar9" * identifier) = (binary_expression "(uint)(piVar16 < piVar19) + iVar2" (call_expression "(uint)(piVar16 < piVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar16 < piVar19)" ( (binary_expression "piVar16 < piVar19" identifier < identifier) ))) + identifier)) ;) (if_statement "if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }" if (parenthesized_expression "(iVar4 < iVar3)" ( (binary_expression "iVar4 < iVar3" identifier < identifier) )) (compound_statement "{\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }" { (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "piVar16 = &iStack_150;" (assignment_expression "piVar16 = &iStack_150" identifier = (pointer_expression "&iStack_150" & identifier)) ;) (expression_statement "iVar33 = (*pcVar27)(iVar15 + iVar4);" (assignment_expression "iVar33 = (*pcVar27)(iVar15 + iVar4)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar4)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar4)" ( (binary_expression "iVar15 + iVar4" identifier + identifier) )))) ;) (expression_statement "iVar33 = iVar33 + iVar4;" (assignment_expression "iVar33 = iVar33 + iVar4" identifier = (binary_expression "iVar33 + iVar4" identifier + identifier)) ;) (if_statement "if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }" if (parenthesized_expression "((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c))))" ( (binary_expression "(0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))" (parenthesized_expression "(0 < iStack_150)" ( (binary_expression "0 < iStack_150" number_literal < identifier) )) || (parenthesized_expression "((iStack_150 == 0 && (1 < uStack_14c)))" ( (parenthesized_expression "(iStack_150 == 0 && (1 < uStack_14c))" ( (binary_expression "iStack_150 == 0 && (1 < uStack_14c)" (binary_expression "iStack_150 == 0" identifier == number_literal) && (parenthesized_expression "(1 < uStack_14c)" ( (binary_expression "1 < uStack_14c" number_literal < identifier) ))) )) ))) )) (compound_statement "{\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }" { (expression_statement "iVar2 = piVar11[0x1c];" (assignment_expression "iVar2 = piVar11[0x1c]" identifier = (subscript_expression "piVar11[0x1c]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = *(uint *)(iVar2 + 0x14);" (assignment_expression "uVar18 = *(uint *)(iVar2 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x14)" * (cast_expression "(uint *)(iVar2 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = uVar18 + 1;" (assignment_expression "uVar17 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar2 + 0x14) = uVar17;" (assignment_expression "*(uint *)(iVar2 + 0x14) = uVar17" (pointer_expression "*(uint *)(iVar2 + 0x14)" * (cast_expression "(uint *)(iVar2 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);" (assignment_expression "*(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10)" (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) = (binary_expression "(uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10)" (call_expression "(uint)(uVar17 < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uVar18)" ( (binary_expression "uVar17 < uVar18" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar2 + 0x10)" * (cast_expression "(int *)(iVar2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "iVar2 = piVar11[0x1c];" (assignment_expression "iVar2 = piVar11[0x1c]" identifier = (subscript_expression "piVar11[0x1c]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = *(uint *)(iVar2 + 0x1c);" (assignment_expression "uVar18 = *(uint *)(iVar2 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = uVar18 + 1;" (assignment_expression "uVar17 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar2 + 0x1c) = uVar17;" (assignment_expression "*(uint *)(iVar2 + 0x1c) = uVar17" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);" (assignment_expression "*(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18)" (pointer_expression "*(uint *)(iVar2 + 0x18)" * (cast_expression "(uint *)(iVar2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) )))) = (binary_expression "(uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18)" (call_expression "(uint)(uVar17 < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uVar18)" ( (binary_expression "uVar17 < uVar18" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar2 + 0x18)" * (cast_expression "(int *)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "iVar4 = piVar11[0x1c];" (assignment_expression "iVar4 = piVar11[0x1c]" identifier = (subscript_expression "piVar11[0x1c]" identifier [ number_literal ])) ;) (expression_statement "piVar19 = *(int **)(iVar4 + 0xc);" (assignment_expression "piVar19 = *(int **)(iVar4 + 0xc)" identifier = (pointer_expression "*(int **)(iVar4 + 0xc)" * (cast_expression "(int **)(iVar4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar4 + 8);" (assignment_expression "iVar2 = *(int *)(iVar4 + 8)" identifier = (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "piVar16 = (int *)((int)piVar19 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar19 + 1)" identifier = (cast_expression "(int *)((int)piVar19 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + 1)" ( (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int **)(iVar4 + 0xc) = piVar16;" (assignment_expression "*(int **)(iVar4 + 0xc) = piVar16" (pointer_expression "*(int **)(iVar4 + 0xc)" * (cast_expression "(int **)(iVar4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;" (assignment_expression "*(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2" (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(piVar16 < piVar19) + iVar2" (call_expression "(uint)(piVar16 < piVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar16 < piVar19)" ( (binary_expression "piVar16 < piVar19" identifier < identifier) ))) + identifier)) ;) (if_statement "if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }" if (parenthesized_expression "(iVar33 < iVar3)" ( (binary_expression "iVar33 < iVar3" identifier < identifier) )) (compound_statement "{\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }" { (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "piVar16 = &iStack_150;" (assignment_expression "piVar16 = &iStack_150" identifier = (pointer_expression "&iStack_150" & identifier)) ;) (expression_statement "iVar28 = (*pcVar27)(iVar15 + iVar33);" (assignment_expression "iVar28 = (*pcVar27)(iVar15 + iVar33)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar33)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar33)" ( (binary_expression "iVar15 + iVar33" identifier + identifier) )))) ;) (expression_statement "iVar4 = 0x10;" (assignment_expression "iVar4 = 0x10" identifier = number_literal) ;) (expression_statement "iVar33 = iVar33 + iVar28;" (assignment_expression "iVar33 = iVar33 + iVar28" identifier = (binary_expression "iVar33 + iVar28" identifier + identifier)) ;) (goto_statement "goto LAB_0011eaec;" goto statement_identifier ;) })) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;) })) (if_statement "if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }" if (parenthesized_expression "(iStack_150 != 0 || uStack_14c != 0)" ( (binary_expression "iStack_150 != 0 || uStack_14c != 0" (binary_expression "iStack_150 != 0" identifier != number_literal) || (binary_expression "uStack_14c != 0" identifier != number_literal)) )) (compound_statement "{\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }" { (if_statement "if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }" if (parenthesized_expression "((iStack_150 == 0) && (uStack_14c == 1))" ( (binary_expression "(iStack_150 == 0) && (uStack_14c == 1)" (parenthesized_expression "(iStack_150 == 0)" ( (binary_expression "iStack_150 == 0" identifier == number_literal) )) && (parenthesized_expression "(uStack_14c == 1)" ( (binary_expression "uStack_14c == 1" identifier == number_literal) ))) )) (compound_statement "{\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }" { (if_statement "if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }" if (parenthesized_expression "(iVar33 < iVar3)" ( (binary_expression "iVar33 < iVar3" identifier < identifier) )) (compound_statement "{\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }" { (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);" (assignment_expression "iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar33,&iStack_150)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar33,&iStack_150)" ( (binary_expression "iVar15 + iVar33" identifier + identifier) , (pointer_expression "&iStack_150" & identifier) )))) ;) (expression_statement "iVar33 = iVar33 + iVar2;" (assignment_expression "iVar33 = iVar33 + iVar2" identifier = (binary_expression "iVar33 + iVar2" identifier + identifier)) ;) (while_statement "while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }" while (parenthesized_expression "((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)))" ( (parenthesized_expression "(uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))" ( (comma_expression "uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)" (assignment_expression "uVar18 = uStack_14c" identifier = identifier) , (comma_expression "iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)" (assignment_expression "iVar2 = uStack_14c + 2" identifier = (binary_expression "uStack_14c + 2" identifier + number_literal)) , (binary_expression "iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)" (binary_expression "iVar2 <= piVar11[0x1b]" identifier <= (subscript_expression "piVar11[0x1b]" identifier [ number_literal ])) || (parenthesized_expression "(piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)" ( (comma_expression "piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0" (assignment_expression "piVar16 = piVar11 + 0x1c" identifier = (binary_expression "piVar11 + 0x1c" identifier + number_literal)) , (comma_expression "iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b)" identifier = (call_expression "(*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b)" (parenthesized_expression "(*(code *)(iVar30 + -0x5e88))" ( (pointer_expression "*(code *)(iVar30 + -0x5e88)" * (cast_expression "(code *)(iVar30 + -0x5e88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + -0x5e88)" ( (binary_expression "iVar30 + -0x5e88" identifier + number_literal) )))) )) (argument_list "(piVar11 + 0x1b)" ( (binary_expression "piVar11 + 0x1b" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal))) ))))) )) )) (compound_statement "{\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }" { (expression_statement "iVar4 = (uVar18 + 1) * 0x10;" (assignment_expression "iVar4 = (uVar18 + 1) * 0x10" identifier = (binary_expression "(uVar18 + 1) * 0x10" (parenthesized_expression "(uVar18 + 1)" ( (binary_expression "uVar18 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "piVar19 = (int *)(piVar11[0x1c] + iVar4);" (assignment_expression "piVar19 = (int *)(piVar11[0x1c] + iVar4)" identifier = (cast_expression "(int *)(piVar11[0x1c] + iVar4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar11[0x1c] + iVar4)" ( (binary_expression "piVar11[0x1c] + iVar4" (subscript_expression "piVar11[0x1c]" identifier [ number_literal ]) + identifier) )))) ;) (expression_statement "piVar9 = (int *)piVar19[1];" (assignment_expression "piVar9 = (int *)piVar19[1]" identifier = (cast_expression "(int *)piVar19[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar19[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar2 = *piVar19;" (assignment_expression "iVar2 = *piVar19" identifier = (pointer_expression "*piVar19" * identifier)) ;) (expression_statement "piVar16 = (int *)((int)piVar9 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar9 + 1)" identifier = (cast_expression "(int *)((int)piVar9 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar9 + 1)" ( (binary_expression "(int)piVar9 + 1" (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar19[1] = (int)piVar16;" (assignment_expression "piVar19[1] = (int)piVar16" (subscript_expression "piVar19[1]" identifier [ number_literal ]) = (cast_expression "(int)piVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*piVar19 = (uint)(piVar16 < piVar9) + iVar2;" (assignment_expression "*piVar19 = (uint)(piVar16 < piVar9) + iVar2" (pointer_expression "*piVar19" * identifier) = (binary_expression "(uint)(piVar16 < piVar9) + iVar2" (call_expression "(uint)(piVar16 < piVar9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar16 < piVar9)" ( (binary_expression "piVar16 < piVar9" identifier < identifier) ))) + identifier)) ;) (while_statement "while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }" { (if_statement "if (iVar3 <= iVar33) goto LAB_0011e87c;" if (parenthesized_expression "(iVar3 <= iVar33)" ( (binary_expression "iVar3 <= iVar33" identifier <= identifier) )) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;)) (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "piVar16 = &iStack_150;" (assignment_expression "piVar16 = &iStack_150" identifier = (pointer_expression "&iStack_150" & identifier)) ;) (expression_statement "iVar28 = (*pcVar27)(iVar15 + iVar33);" (assignment_expression "iVar28 = (*pcVar27)(iVar15 + iVar33)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar33)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar33)" ( (binary_expression "iVar15 + iVar33" identifier + identifier) )))) ;) (expression_statement "iVar33 = iVar33 + iVar28;" (assignment_expression "iVar33 = iVar33 + iVar28" identifier = (binary_expression "iVar33 + iVar28" identifier + identifier)) ;) (labeled_statement "LAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }" statement_identifier : (if_statement "if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }" if (parenthesized_expression "(iStack_150 == 0 && uStack_14c == 0)" ( (binary_expression "iStack_150 == 0 && uStack_14c == 0" (binary_expression "iStack_150 == 0" identifier == number_literal) && (binary_expression "uStack_14c == 0" identifier == number_literal)) )) (compound_statement "{\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }" { (if_statement "if (iVar3 <= iVar33) goto LAB_0011e87c;" if (parenthesized_expression "(iVar3 <= iVar33)" ( (binary_expression "iVar3 <= iVar33" identifier <= identifier) )) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;)) (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);" (assignment_expression "iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar33,&iStack_150)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar33,&iStack_150)" ( (binary_expression "iVar15 + iVar33" identifier + identifier) , (pointer_expression "&iStack_150" & identifier) )))) ;) (expression_statement "iVar4 = iVar4 + iVar33;" (assignment_expression "iVar4 = iVar4 + iVar33" identifier = (binary_expression "iVar4 + iVar33" identifier + identifier)) ;) (goto_statement "goto LAB_0011e97c;" goto statement_identifier ;) }))) (if_statement "if ((iStack_150 == 0) && (uStack_14c == 1)) break;" if (parenthesized_expression "((iStack_150 == 0) && (uStack_14c == 1))" ( (binary_expression "(iStack_150 == 0) && (uStack_14c == 1)" (parenthesized_expression "(iStack_150 == 0)" ( (binary_expression "iStack_150 == 0" identifier == number_literal) )) && (parenthesized_expression "(uStack_14c == 1)" ( (binary_expression "uStack_14c == 1" identifier == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "iVar2 = piVar11[0x1c] + iVar4;" (assignment_expression "iVar2 = piVar11[0x1c] + iVar4" identifier = (binary_expression "piVar11[0x1c] + iVar4" (subscript_expression "piVar11[0x1c]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "uVar18 = *(uint *)(iVar2 + 0xc);" (assignment_expression "uVar18 = *(uint *)(iVar2 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xc)" * (cast_expression "(uint *)(iVar2 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = uVar18 + 1;" (assignment_expression "uVar17 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar2 + 0xc) = uVar17;" (assignment_expression "*(uint *)(iVar2 + 0xc) = uVar17" (pointer_expression "*(uint *)(iVar2 + 0xc)" * (cast_expression "(uint *)(iVar2 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);" (assignment_expression "*(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8)" (pointer_expression "*(uint *)(iVar2 + 8)" * (cast_expression "(uint *)(iVar2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8)" (call_expression "(uint)(uVar17 < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uVar18)" ( (binary_expression "uVar17 < uVar18" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) )))))) ;) (expression_statement "iVar28 = piVar11[0x1c];" (assignment_expression "iVar28 = piVar11[0x1c]" identifier = (subscript_expression "piVar11[0x1c]" identifier [ number_literal ])) ;) (expression_statement "piVar19 = *(int **)(iVar28 + 0xc);" (assignment_expression "piVar19 = *(int **)(iVar28 + 0xc)" identifier = (pointer_expression "*(int **)(iVar28 + 0xc)" * (cast_expression "(int **)(iVar28 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar28 + 0xc)" ( (binary_expression "iVar28 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar28 + 8);" (assignment_expression "iVar2 = *(int *)(iVar28 + 8)" identifier = (pointer_expression "*(int *)(iVar28 + 8)" * (cast_expression "(int *)(iVar28 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 8)" ( (binary_expression "iVar28 + 8" identifier + number_literal) ))))) ;) (expression_statement "piVar16 = (int *)((int)piVar19 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar19 + 1)" identifier = (cast_expression "(int *)((int)piVar19 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + 1)" ( (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int **)(iVar28 + 0xc) = piVar16;" (assignment_expression "*(int **)(iVar28 + 0xc) = piVar16" (pointer_expression "*(int **)(iVar28 + 0xc)" * (cast_expression "(int **)(iVar28 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar28 + 0xc)" ( (binary_expression "iVar28 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;" (assignment_expression "*(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2" (pointer_expression "*(uint *)(iVar28 + 8)" * (cast_expression "(uint *)(iVar28 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar28 + 8)" ( (binary_expression "iVar28 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(piVar16 < piVar19) + iVar2" (call_expression "(uint)(piVar16 < piVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar16 < piVar19)" ( (binary_expression "piVar16 < piVar19" identifier < identifier) ))) + identifier)) ;) })) (if_statement "if (iVar3 <= iVar33) goto LAB_0011e87c;" if (parenthesized_expression "(iVar3 <= iVar33)" ( (binary_expression "iVar3 <= iVar33" identifier <= identifier) )) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;)) (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);" (assignment_expression "iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar33,&iStack_150)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar33,&iStack_150)" ( (binary_expression "iVar15 + iVar33" identifier + identifier) , (pointer_expression "&iStack_150" & identifier) )))) ;) (expression_statement "iVar33 = iVar2 + iVar33;" (assignment_expression "iVar33 = iVar2 + iVar33" identifier = (binary_expression "iVar2 + iVar33" identifier + identifier)) ;) })) (goto_statement "goto LAB_0011ec20;" goto statement_identifier ;) })) }) (else_clause "else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }" else (compound_statement "{\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }" { (expression_statement "iVar2 = piVar11[0x1c];" (assignment_expression "iVar2 = piVar11[0x1c]" identifier = (subscript_expression "piVar11[0x1c]" identifier [ number_literal ])) ;) (expression_statement "uVar18 = *(uint *)(iVar2 + 0x1c);" (assignment_expression "uVar18 = *(uint *)(iVar2 + 0x1c)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = uVar18 + 1;" (assignment_expression "uVar17 = uVar18 + 1" identifier = (binary_expression "uVar18 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar2 + 0x1c) = uVar17;" (assignment_expression "*(uint *)(iVar2 + 0x1c) = uVar17" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);" (assignment_expression "*(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18)" (pointer_expression "*(uint *)(iVar2 + 0x18)" * (cast_expression "(uint *)(iVar2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) )))) = (binary_expression "(uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18)" (call_expression "(uint)(uVar17 < uVar18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uVar18)" ( (binary_expression "uVar17 < uVar18" identifier < identifier) ))) + (pointer_expression "*(int *)(iVar2 + 0x18)" * (cast_expression "(int *)(iVar2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "iVar4 = piVar11[0x1c];" (assignment_expression "iVar4 = piVar11[0x1c]" identifier = (subscript_expression "piVar11[0x1c]" identifier [ number_literal ])) ;) (expression_statement "piVar19 = *(int **)(iVar4 + 0xc);" (assignment_expression "piVar19 = *(int **)(iVar4 + 0xc)" identifier = (pointer_expression "*(int **)(iVar4 + 0xc)" * (cast_expression "(int **)(iVar4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar4 + 8);" (assignment_expression "iVar2 = *(int *)(iVar4 + 8)" identifier = (pointer_expression "*(int *)(iVar4 + 8)" * (cast_expression "(int *)(iVar4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) ))))) ;) (expression_statement "piVar16 = (int *)((int)piVar19 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar19 + 1)" identifier = (cast_expression "(int *)((int)piVar19 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar19 + 1)" ( (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int **)(iVar4 + 0xc) = piVar16;" (assignment_expression "*(int **)(iVar4 + 0xc) = piVar16" (pointer_expression "*(int **)(iVar4 + 0xc)" * (cast_expression "(int **)(iVar4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;" (assignment_expression "*(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2" (pointer_expression "*(uint *)(iVar4 + 8)" * (cast_expression "(uint *)(iVar4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 8)" ( (binary_expression "iVar4 + 8" identifier + number_literal) )))) = (binary_expression "(uint)(piVar16 < piVar19) + iVar2" (call_expression "(uint)(piVar16 < piVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar16 < piVar19)" ( (binary_expression "piVar16 < piVar19" identifier < identifier) ))) + identifier)) ;) (if_statement "if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }" if (parenthesized_expression "(iVar33 < iVar3)" ( (binary_expression "iVar33 < iVar3" identifier < identifier) )) (compound_statement "{\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }" { (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "piVar16 = &iStack_150;" (assignment_expression "piVar16 = &iStack_150" identifier = (pointer_expression "&iStack_150" & identifier)) ;) (expression_statement "iVar28 = (*pcVar27)(iVar15 + iVar33);" (assignment_expression "iVar28 = (*pcVar27)(iVar15 + iVar33)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar33)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar33)" ( (binary_expression "iVar15 + iVar33" identifier + identifier) )))) ;) (expression_statement "iVar4 = 0x10;" (assignment_expression "iVar4 = 0x10" identifier = number_literal) ;) (expression_statement "iVar33 = iVar33 + iVar28;" (assignment_expression "iVar33 = iVar33 + iVar28" identifier = (binary_expression "iVar33 + iVar28" identifier + identifier)) ;) (goto_statement "goto LAB_0011eaec;" goto statement_identifier ;) })) }))) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;) })) (if_statement "if (iVar3 <= iVar33) goto LAB_0011e87c;" if (parenthesized_expression "(iVar3 <= iVar33)" ( (binary_expression "iVar3 <= iVar33" identifier <= identifier) )) (goto_statement "goto LAB_0011e87c;" goto statement_identifier ;)) (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" identifier = number_literal) ;) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" identifier = number_literal) ;) (expression_statement "iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);" (assignment_expression "iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150)" identifier = (call_expression "(*pcVar27)(iVar15 + iVar33,&iStack_150)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(iVar15 + iVar33,&iStack_150)" ( (binary_expression "iVar15 + iVar33" identifier + identifier) , (pointer_expression "&iStack_150" & identifier) )))) ;) (expression_statement "iVar4 = iVar33 + iVar4;" (assignment_expression "iVar4 = iVar33 + iVar4" identifier = (binary_expression "iVar33 + iVar4" identifier + identifier)) ;) (goto_statement "goto LAB_0011e97c;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0011e87c:\n    piVar11[0x1a] = 0;" statement_identifier : (expression_statement "piVar11[0x1a] = 0;" (assignment_expression "piVar11[0x1a] = 0" (subscript_expression "piVar11[0x1a]" identifier [ number_literal ]) = number_literal) ;)) }))) (labeled_statement "LAB_0011e880:\n  iVar3 = 0;" statement_identifier : (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_0011e884:\n  if (iStack_144 == *piVar22) {\n    return iVar3;\n  }" statement_identifier : (if_statement "if (iStack_144 == *piVar22) {\n    return iVar3;\n  }" if (parenthesized_expression "(iStack_144 == *piVar22)" ( (binary_expression "iStack_144 == *piVar22" identifier == (pointer_expression "*piVar22" * identifier)) )) (compound_statement "{\n    return iVar3;\n  }" { (return_statement "return iVar3;" return identifier ;) }))) (expression_statement "pcVar25 = *(code **)(pcVar25 + 0x3d318);" (assignment_expression "pcVar25 = *(code **)(pcVar25 + 0x3d318)" identifier = (pointer_expression "*(code **)(pcVar25 + 0x3d318)" * (cast_expression "(code **)(pcVar25 + 0x3d318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x3d318)" ( (binary_expression "pcVar25 + 0x3d318" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = iStack_144;" (assignment_expression "iVar3 = iStack_144" identifier = identifier) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar15 = piVar16[1];" (assignment_expression "iVar15 = piVar16[1]" identifier = (subscript_expression "piVar16[1]" identifier [ number_literal ])) ;) (if_statement "if ((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)) {\n    iVar33 = 0;\n    iVar30 = *(int *)(pcVar25 + 0x3ca14);\n    do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));\n  }" if (parenthesized_expression "((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15))" ( (binary_expression "(piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)" (parenthesized_expression "(piVar16[7] == 0)" ( (binary_expression "piVar16[7] == 0" (subscript_expression "piVar16[7]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)" ( (comma_expression "iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15" (assignment_expression "iVar4 = *(int *)(pcVar25 + 0x3ca34)" identifier = (pointer_expression "*(int *)(pcVar25 + 0x3ca34)" * (cast_expression "(int *)(pcVar25 + 0x3ca34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ca34)" ( (binary_expression "pcVar25 + 0x3ca34" identifier + number_literal) ))))) , (binary_expression "0 < iVar15" number_literal < identifier)) ))) )) (compound_statement "{\n    iVar33 = 0;\n    iVar30 = *(int *)(pcVar25 + 0x3ca14);\n    do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));\n  }" { (expression_statement "iVar33 = 0;" (assignment_expression "iVar33 = 0" identifier = number_literal) ;) (expression_statement "iVar30 = *(int *)(pcVar25 + 0x3ca14);" (assignment_expression "iVar30 = *(int *)(pcVar25 + 0x3ca14)" identifier = (pointer_expression "*(int *)(pcVar25 + 0x3ca14)" * (cast_expression "(int *)(pcVar25 + 0x3ca14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ca14)" ( (binary_expression "pcVar25 + 0x3ca14" identifier + number_literal) ))))) ;) (do_statement "do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));" do (compound_statement "{\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    }" { (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" identifier = number_literal) ;) (expression_statement "iVar23 = *(int *)(*piVar16 + iVar33 * 4);" (assignment_expression "iVar23 = *(int *)(*piVar16 + iVar33 * 4)" identifier = (pointer_expression "*(int *)(*piVar16 + iVar33 * 4)" * (cast_expression "(int *)(*piVar16 + iVar33 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar16 + iVar33 * 4)" ( (binary_expression "*piVar16 + iVar33 * 4" (pointer_expression "*piVar16" * identifier) + (binary_expression "iVar33 * 4" identifier * number_literal)) ))))) ;) (do_statement "do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));" do (compound_statement "{\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      }" { (expression_statement "iVar5 = FUN_0011d8a8(iVar3,iVar23);" (assignment_expression "iVar5 = FUN_0011d8a8(iVar3,iVar23)" identifier = (call_expression "FUN_0011d8a8(iVar3,iVar23)" identifier (argument_list "(iVar3,iVar23)" ( identifier , identifier )))) ;) (if_statement "if (iVar5 != 0) {\n          return iVar5;\n        }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n          return iVar5;\n        }" { (return_statement "return iVar5;" return identifier ;) })) }) while (parenthesized_expression "((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0))" ( (binary_expression "(iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0)" ( (comma_expression "iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0" (assignment_expression "iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4)" identifier = (call_expression "(*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4)" (parenthesized_expression "(*(code *)(iVar30 + -0x7564))" ( (pointer_expression "*(code *)(iVar30 + -0x7564)" * (cast_expression "(code *)(iVar30 + -0x7564)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar30 + -0x7564)" ( (binary_expression "iVar30 + -0x7564" identifier + number_literal) )))) )) (argument_list "(iVar23,iVar2,param_4)" ( identifier , identifier , identifier )))) , (binary_expression "iVar28 < 0" identifier < number_literal)) ))) )) ;) (if_statement "if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }" if (parenthesized_expression "((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0))" ( (binary_expression "(*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)" (parenthesized_expression "(*(char *)(iVar23 + 4) != '\0')" ( (binary_expression "*(char *)(iVar23 + 4) != '\0'" (pointer_expression "*(char *)(iVar23 + 4)" * (cast_expression "(char *)(iVar23 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 4)" ( (binary_expression "iVar23 + 4" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar28 != 0)" ( (binary_expression "iVar28 != 0" identifier != number_literal) ))) )) (compound_statement "{\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }" { (expression_statement "(*(code *)(iVar4 + 0x5384))(iVar23);" (call_expression "(*(code *)(iVar4 + 0x5384))(iVar23)" (parenthesized_expression "(*(code *)(iVar4 + 0x5384))" ( (pointer_expression "*(code *)(iVar4 + 0x5384)" * (cast_expression "(code *)(iVar4 + 0x5384)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x5384)" ( (binary_expression "iVar4 + 0x5384" identifier + number_literal) )))) )) (argument_list "(iVar23)" ( identifier ))) ;) })) (expression_statement "iVar33 = iVar33 + 1;" (assignment_expression "iVar33 = iVar33 + 1" identifier = (binary_expression "iVar33 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((piVar16[7] == 0) && (iVar33 < piVar16[1]))" ( (binary_expression "(piVar16[7] == 0) && (iVar33 < piVar16[1])" (parenthesized_expression "(piVar16[7] == 0)" ( (binary_expression "piVar16[7] == 0" (subscript_expression "piVar16[7]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(iVar33 < piVar16[1])" ( (binary_expression "iVar33 < piVar16[1]" identifier < (subscript_expression "piVar16[1]" identifier [ number_literal ])) ))) )) ;) })) (expression_statement "(*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))\n            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638);" (call_expression "(*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))\n            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638)" (parenthesized_expression "(*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))" ( (pointer_expression "*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944)" * (cast_expression "(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar25 + 0x3c998) + 0x2944)" ( (binary_expression "*(int *)(pcVar25 + 0x3c998) + 0x2944" (pointer_expression "*(int *)(pcVar25 + 0x3c998)" * (cast_expression "(int *)(pcVar25 + 0x3c998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3c998)" ( (binary_expression "pcVar25 + 0x3c998" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638)" ( (pointer_expression "*piVar16" * identifier) , identifier , identifier , (binary_expression "*(int *)(pcVar25 + 0x3ca14) + -0x7638" (pointer_expression "*(int *)(pcVar25 + 0x3ca14)" * (cast_expression "(int *)(pcVar25 + 0x3ca14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x3ca14)" ( (binary_expression "pcVar25 + 0x3ca14" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) (labeled_statement "LAB_0011e6ac:\n  iVar2 = 100;" statement_identifier : (expression_statement "iVar2 = 100;" (assignment_expression "iVar2 = 100" identifier = number_literal) ;)) (expression_statement "pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4;" (assignment_expression "pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4" (subscript_expression "pppppppcStack_e0[0xd]" identifier [ number_literal ]) = (cast_expression "(code ******)pppppppcStack_f4" ( (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 "pppppppcStack_e0[2] = unaff_s6;" (assignment_expression "pppppppcStack_e0[2] = unaff_s6" (subscript_expression "pppppppcStack_e0[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppppcStack_e0[0xc] = pppppppcStack_e0[4];" (assignment_expression "pppppppcStack_e0[0xc] = pppppppcStack_e0[4]" (subscript_expression "pppppppcStack_e0[0xc]" identifier [ number_literal ]) = (subscript_expression "pppppppcStack_e0[4]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar29 = param_1;" (assignment_expression "pppppppcVar29 = param_1" identifier = identifier) ;) (goto_statement "goto LAB_0011ddb4;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * (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 * (pointer_declarator * IDENT)))))))) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))))) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (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 * (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 IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (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 * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (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 * (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 * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (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 * (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 (pointer_declarator * (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 * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (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 * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (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 * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (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 * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (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 * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (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 * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (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 * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (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 * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (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 * (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 * (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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (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 * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (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 * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (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 * (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 * (abstract_pointer_declarator *)))))))) ) 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 * (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 * (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 * (abstract_pointer_declarator *)))))))) ) (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) 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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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 * (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) (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 * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) <= IDENT) )) (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) }) (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 * (abstract_pointer_declarator *)))))))) ) (pointer_expression * (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (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 * (abstract_pointer_declarator *))))))) ) 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 * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_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 * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (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 * (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_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 * (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 * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (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 ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (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) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) < (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 * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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 * (abstract_pointer_declarator *)))))))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT )))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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 *))))))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( 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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (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 * (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 * (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) ) IDENT) <= (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) + (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 * (abstract_pointer_declarator *)))))))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) < (cast_expression ( (type_descriptor TYPE) ) 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 * (abstract_pointer_declarator *)))))))) ) LIT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , (binary_expression IDENT | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (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 * (abstract_pointer_declarator *))))))) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (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 ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (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 * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (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 *))))))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT )))) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression 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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + 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 * (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 * (abstract_pointer_declarator *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) )) (compound_statement { (expression_statement (assignment_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 * (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 * (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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) (labeled_statement statement_identifier : (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 * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (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 * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (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 = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_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 * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (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 = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (do_statement do (compound_statement { (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = 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 (pointer_expression * IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + 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 = 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 = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , 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 * (abstract_pointer_declarator *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ]) == (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 = (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 *)))))))) ) (subscript_expression (parenthesized_expression ( (pointer_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 * (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 * (abstract_pointer_declarator *)))))))) ) (subscript_expression (parenthesized_expression ( (pointer_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 * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (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)) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) ))) )) (break_statement break ;)) (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 = LIT) ;) (break_statement break ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (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))) ))) )) || (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 * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (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 ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (subscript_expression (parenthesized_expression ( (pointer_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 = (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 *)))))))) ) (subscript_expression (parenthesized_expression ( (pointer_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 * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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 * (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 * (abstract_pointer_declarator *))))))) ) (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 * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (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 (subscript_expression IDENT [ LIT ]) = (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 * 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 { (expression_statement (assignment_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 * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (break_statement break ;) })) (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 , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (assignment_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 * (abstract_pointer_declarator *))))))) ) LIT)) ;) (break_statement break ;) })) }) (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 *))))))) ) 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 ( ))) ;) }) (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 * (abstract_pointer_declarator *))))))) ) LIT)) ;) (while_statement while (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 , (subscript_expression IDENT [ LIT ]) , IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (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 *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (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))) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (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 * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ])))) ))) )) (goto_statement goto statement_identifier ;)) })) (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)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_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 & 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 * (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 * (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 * (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 * (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 *)) ) (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 = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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 * (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 = (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 * (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 * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , 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)) ;) }) (else_clause else (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 *))))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (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)) )) && (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 * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ])) == IDENT) ))) )) && (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 * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ])) == IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * IDENT) )) (argument_list ( IDENT , IDENT , LIT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (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))) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) || (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 * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ])) != IDENT) ))) )) (break_statement break ;)) })) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ))) )) (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 (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_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 * (abstract_pointer_declarator *)))))))) ) LIT)) || (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 * (abstract_pointer_declarator *)))))))) ) LIT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_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 * (abstract_pointer_declarator *)))))))) ) LIT)) || (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 * (abstract_pointer_declarator *)))))))) ) LIT)) ))) )) ))) )) (goto_statement goto statement_identifier ;)) }) (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_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 * (abstract_pointer_declarator *)))))))) ) LIT)) || (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 * (abstract_pointer_declarator *)))))))) ) LIT)) ))))) )) ))) )) (goto_statement goto statement_identifier ;)) }))))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_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 * (abstract_pointer_declarator *)))))))) ) LIT)) || (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 * (abstract_pointer_declarator *)))))))) ) LIT))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) )) (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 (subscript_expression IDENT [ LIT ]) = (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) + 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 ))))) ;) (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 = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT | (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_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 * (abstract_pointer_declarator *)))))))) ) LIT)) || (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 * (abstract_pointer_declarator *)))))))) ) 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 * (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) ))) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) , IDENT , IDENT ))) ;) (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) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) = (cast_expression ( (type_descriptor TYPE) ) 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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (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 *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT | (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) ;) }) while (parenthesized_expression ( (binary_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 * (abstract_pointer_declarator *)))))))) ) LIT)) || (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 * (abstract_pointer_declarator *)))))))) ) LIT))) )) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (for_statement for ( ; (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ; (assignment_expression IDENT = (binary_expression IDENT | IDENT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 IDENT < IDENT) )) (compound_statement { (labeled_statement 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 * (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 * (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ( 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) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT | (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 (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 * (abstract_pointer_declarator *)))))))) ) LIT)) || (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 * (abstract_pointer_declarator *)))))))) ) LIT))) )) ;) (expression_statement (assignment_expression IDENT = (binary_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 (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | (binary_expression 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) ;) }) while (parenthesized_expression ( (binary_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)) || (binary_expression IDENT != LIT)) )) ;) (expression_statement (assignment_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 = (binary_expression (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ))) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ))) ))) ]) = (cast_expression ( (type_descriptor TYPE) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (for_statement for ( ; (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ; (assignment_expression IDENT = (binary_expression IDENT | 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 *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) 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 *)) ) 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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) }))) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_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 LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) while (parenthesized_expression ( BOOL )) ;) })) }) (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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (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 != (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 *)))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (subscript_expression IDENT [ LIT ])) + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (binary_expression IDENT <= (subscript_expression IDENT [ LIT ])) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (comma_expression (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 ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT == LIT))) ))))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + IDENT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (goto_statement goto statement_identifier ;) })) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + IDENT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression LIT < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * LIT)) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return IDENT ;) })) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT )))) , (binary_expression IDENT < LIT)) ))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) ))) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (pointer_expression * IDENT) , IDENT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (return_statement return LIT ;) (labeled_statement statement_identifier : (expression_statement (assignment_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 * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "int FUN_0011d8a8(code *******param_1,code *******param_2,undefined4 param_3,code *******param_4)\n\n{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  code *******pppppppcVar6;\n  code ******ppppppcVar7;\n  code *******pppppppcVar8;\n  int *piVar9;\n  code ******ppppppcVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  code *******pppppppcVar13;\n  code *pcVar14;\n  int iVar15;\n  int *piVar16;\n  uint uVar17;\n  uint uVar18;\n  int *piVar19;\n  code *pcVar20;\n  code *pcVar21;\n  int *piVar22;\n  int iVar23;\n  code *******pppppppcVar24;\n  code *pcVar25;\n  code *******pppppppcVar26;\n  code *pcVar27;\n  int iVar28;\n  code *******pppppppcVar29;\n  code *******unaff_s4;\n  int iVar30;\n  code ******unaff_s5;\n  code ******unaff_s6;\n  code *******unaff_s7;\n  code ******ppppppcVar31;\n  undefined *puVar32;\n  code *******unaff_s8;\n  int iVar33;\n  undefined4 uVar34;\n  int iStack_150;\n  uint uStack_14c;\n  int iStack_144;\n  code *******pppppppcStack_140;\n  code *******pppppppcStack_13c;\n  code *******pppppppcStack_138;\n  code *******pppppppcStack_134;\n  code *******pppppppcStack_130;\n  code ******ppppppcStack_12c;\n  code ******ppppppcStack_128;\n  code *******pppppppcStack_124;\n  code *******pppppppcStack_120;\n  undefined4 uStack_11c;\n  undefined *puStack_108;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *******pppppppcStack_f4;\n  code *******pppppppcStack_f0;\n  code *pcStack_ec;\n  code *******pppppppcStack_e8;\n  int iStack_e4;\n  code *******pppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  uint uStack_cc;\n  code *******pppppppcStack_c8;\n  code *******pppppppcStack_c4;\n  code *pcStack_c0;\n  uint uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  code *pcStack_b0;\n  code *pcStack_ac;\n  code *******pppppppcStack_a8;\n  code ******ppppppcStack_a4;\n  code *******pppppppcStack_a0;\n  code *pcStack_9c;\n  int *piStack_98;\n  code *****pppppcStack_94;\n  code ******ppppppcStack_90;\n  code ******ppppppcStack_8c;\n  code ******ppppppcStack_88;\n  uint uStack_84;\n  int *piStack_7c;\n  code *******pppppppcStack_78;\n  code *******pppppppcStack_74;\n  undefined *puStack_70;\n  code *******pppppppcStack_6c;\n  code *******pppppppcStack_68;\n  code *******local_24;\n  code ******local_20;\n  code *******local_1c;\n  \n  pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c;\n  local_1c = *(code ********)PTR___stack_chk_guard_0015ba2c;\n  if (param_2[0x12] == (code ******)0x0) {\n    pppppppcVar24 = (code *******)param_2[10];\n  }\n  else {\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }\n  if ((pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)) {\n    pppppppcVar13 = param_2;\n    if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }\nLAB_0011db18:\n  if (local_1c == (code *******)*pppppppcVar26) {\n    return iVar2;\n  }\n  pppppppcVar6 = local_1c;\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_108 = puVar32 + 0x45928;\n  pppppppcStack_68 = unaff_s4;\n  pppppppcStack_6c = param_1;\n  puStack_70 = (undefined *)pppppppcVar26;\n  pppppppcStack_74 = pppppppcVar24;\n  pppppppcStack_78 = param_2;\n  piStack_98 = *(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_c8 = pppppppcVar6;\n  pppppppcStack_e0 = pppppppcVar13;\n  piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_a0 = (code *******)pppppppcVar13[1];\n  pppppppcVar29 = param_1;\n  if (*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0) {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar2 = 0;\n    if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }\nLAB_0011ddb4:\n  if (piStack_7c == (int *)*piStack_98) {\n    return iVar2;\n  }\n  pcVar25 = *(code **)(puStack_108 + -0x7ba0);\n  uVar34 = 0x11e6f8;\n  piVar11 = piStack_7c;\n  (*pcVar25)();\n  piVar22 = *(int **)(pcVar25 + 0x3d334);\n  iVar3 = piVar11[0x1a];\n  uVar18 = piVar11[0x19] + 1;\n  iVar2 = piVar11[0x1b];\n  iVar15 = iVar3 + 1;\n  iStack_144 = *piVar22;\n  uVar12 = *(undefined4 *)(*piVar11 + 0xc);\n  piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18];\n  piVar11[0x19] = uVar18;\n  piVar11[0x1a] = iVar15;\n  pppppppcStack_140 = param_2;\n  pppppppcStack_13c = pppppppcVar24;\n  pppppppcStack_138 = pppppppcVar26;\n  pppppppcStack_134 = pppppppcVar29;\n  pppppppcStack_130 = unaff_s4;\n  ppppppcStack_12c = unaff_s5;\n  ppppppcStack_128 = unaff_s6;\n  pppppppcStack_124 = unaff_s7;\n  pppppppcStack_120 = unaff_s8;\n  uStack_11c = uVar34;\n  if (iVar15 < iVar2) {\n    piVar16 = (int *)(iVar15 * 0x10);\n    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);\n    iVar15 = *piVar19;\n    if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }\nLAB_0011e880:\n  iVar3 = 0;\nLAB_0011e884:\n  if (iStack_144 == *piVar22) {\n    return iVar3;\n  }\n  pcVar25 = *(code **)(pcVar25 + 0x3d318);\n  iVar3 = iStack_144;\n  (*pcVar25)();\n  iVar15 = piVar16[1];\n  if ((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)) {\n    iVar33 = 0;\n    iVar30 = *(int *)(pcVar25 + 0x3ca14);\n    do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));\n  }\n  (*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))\n            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638);\n  return 0;\nLAB_0011e6ac:\n  iVar2 = 100;\n  pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4;\n  pppppppcStack_e0[2] = unaff_s6;\n  pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n  pppppppcVar29 = param_1;\n  goto LAB_0011ddb4;\n}" (primitive_type "int") (function_declarator "FUN_0011d8a8(code *******param_1,code *******param_2,undefined4 param_3,code *******param_4)" (identifier "FUN_0011d8a8") (parameter_list "(code *******param_1,code *******param_2,undefined4 param_3,code *******param_4)" (( "(") (parameter_declaration "code *******param_1" (type_identifier "code") (pointer_declarator "*******param_1" (* "*") (pointer_declarator "******param_1" (* "*") (pointer_declarator "*****param_1" (* "*") (pointer_declarator "****param_1" (* "*") (pointer_declarator "***param_1" (* "*") (pointer_declarator "**param_1" (* "*") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))))))))) (, ",") (parameter_declaration "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" (* "*") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))))))))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (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" (* "*") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))))))))) () ")"))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  code *******pppppppcVar6;\n  code ******ppppppcVar7;\n  code *******pppppppcVar8;\n  int *piVar9;\n  code ******ppppppcVar10;\n  int *piVar11;\n  undefined4 uVar12;\n  code *******pppppppcVar13;\n  code *pcVar14;\n  int iVar15;\n  int *piVar16;\n  uint uVar17;\n  uint uVar18;\n  int *piVar19;\n  code *pcVar20;\n  code *pcVar21;\n  int *piVar22;\n  int iVar23;\n  code *******pppppppcVar24;\n  code *pcVar25;\n  code *******pppppppcVar26;\n  code *pcVar27;\n  int iVar28;\n  code *******pppppppcVar29;\n  code *******unaff_s4;\n  int iVar30;\n  code ******unaff_s5;\n  code ******unaff_s6;\n  code *******unaff_s7;\n  code ******ppppppcVar31;\n  undefined *puVar32;\n  code *******unaff_s8;\n  int iVar33;\n  undefined4 uVar34;\n  int iStack_150;\n  uint uStack_14c;\n  int iStack_144;\n  code *******pppppppcStack_140;\n  code *******pppppppcStack_13c;\n  code *******pppppppcStack_138;\n  code *******pppppppcStack_134;\n  code *******pppppppcStack_130;\n  code ******ppppppcStack_12c;\n  code ******ppppppcStack_128;\n  code *******pppppppcStack_124;\n  code *******pppppppcStack_120;\n  undefined4 uStack_11c;\n  undefined *puStack_108;\n  code *pcStack_fc;\n  code *pcStack_f8;\n  code *******pppppppcStack_f4;\n  code *******pppppppcStack_f0;\n  code *pcStack_ec;\n  code *******pppppppcStack_e8;\n  int iStack_e4;\n  code *******pppppppcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *******pppppppcStack_d4;\n  code *******pppppppcStack_d0;\n  uint uStack_cc;\n  code *******pppppppcStack_c8;\n  code *******pppppppcStack_c4;\n  code *pcStack_c0;\n  uint uStack_bc;\n  uint uStack_b8;\n  uint uStack_b4;\n  code *pcStack_b0;\n  code *pcStack_ac;\n  code *******pppppppcStack_a8;\n  code ******ppppppcStack_a4;\n  code *******pppppppcStack_a0;\n  code *pcStack_9c;\n  int *piStack_98;\n  code *****pppppcStack_94;\n  code ******ppppppcStack_90;\n  code ******ppppppcStack_8c;\n  code ******ppppppcStack_88;\n  uint uStack_84;\n  int *piStack_7c;\n  code *******pppppppcStack_78;\n  code *******pppppppcStack_74;\n  undefined *puStack_70;\n  code *******pppppppcStack_6c;\n  code *******pppppppcStack_68;\n  code *******local_24;\n  code ******local_20;\n  code *******local_1c;\n  \n  pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c;\n  local_1c = *(code ********)PTR___stack_chk_guard_0015ba2c;\n  if (param_2[0x12] == (code ******)0x0) {\n    pppppppcVar24 = (code *******)param_2[10];\n  }\n  else {\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }\n  if ((pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)) {\n    pppppppcVar13 = param_2;\n    if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }\nLAB_0011db18:\n  if (local_1c == (code *******)*pppppppcVar26) {\n    return iVar2;\n  }\n  pppppppcVar6 = local_1c;\n  puVar32 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puStack_108 = puVar32 + 0x45928;\n  pppppppcStack_68 = unaff_s4;\n  pppppppcStack_6c = param_1;\n  puStack_70 = (undefined *)pppppppcVar26;\n  pppppppcStack_74 = pppppppcVar24;\n  pppppppcStack_78 = param_2;\n  piStack_98 = *(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_c8 = pppppppcVar6;\n  pppppppcStack_e0 = pppppppcVar13;\n  piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4);\n  pppppppcStack_a0 = (code *******)pppppppcVar13[1];\n  pppppppcVar29 = param_1;\n  if (*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0) {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar2 = 0;\n    if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }\nLAB_0011ddb4:\n  if (piStack_7c == (int *)*piStack_98) {\n    return iVar2;\n  }\n  pcVar25 = *(code **)(puStack_108 + -0x7ba0);\n  uVar34 = 0x11e6f8;\n  piVar11 = piStack_7c;\n  (*pcVar25)();\n  piVar22 = *(int **)(pcVar25 + 0x3d334);\n  iVar3 = piVar11[0x1a];\n  uVar18 = piVar11[0x19] + 1;\n  iVar2 = piVar11[0x1b];\n  iVar15 = iVar3 + 1;\n  iStack_144 = *piVar22;\n  uVar12 = *(undefined4 *)(*piVar11 + 0xc);\n  piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18];\n  piVar11[0x19] = uVar18;\n  piVar11[0x1a] = iVar15;\n  pppppppcStack_140 = param_2;\n  pppppppcStack_13c = pppppppcVar24;\n  pppppppcStack_138 = pppppppcVar26;\n  pppppppcStack_134 = pppppppcVar29;\n  pppppppcStack_130 = unaff_s4;\n  ppppppcStack_12c = unaff_s5;\n  ppppppcStack_128 = unaff_s6;\n  pppppppcStack_124 = unaff_s7;\n  pppppppcStack_120 = unaff_s8;\n  uStack_11c = uVar34;\n  if (iVar15 < iVar2) {\n    piVar16 = (int *)(iVar15 * 0x10);\n    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);\n    iVar15 = *piVar19;\n    if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }\nLAB_0011e880:\n  iVar3 = 0;\nLAB_0011e884:\n  if (iStack_144 == *piVar22) {\n    return iVar3;\n  }\n  pcVar25 = *(code **)(pcVar25 + 0x3d318);\n  iVar3 = iStack_144;\n  (*pcVar25)();\n  iVar15 = piVar16[1];\n  if ((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)) {\n    iVar33 = 0;\n    iVar30 = *(int *)(pcVar25 + 0x3ca14);\n    do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));\n  }\n  (*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))\n            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638);\n  return 0;\nLAB_0011e6ac:\n  iVar2 = 100;\n  pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4;\n  pppppppcStack_e0[2] = unaff_s6;\n  pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n  pppppppcVar29 = param_1;\n  goto LAB_0011ddb4;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "code *******pppppppcVar6;" (type_identifier "code") (pointer_declarator "*******pppppppcVar6" (* "*") (pointer_declarator "******pppppppcVar6" (* "*") (pointer_declarator "*****pppppppcVar6" (* "*") (pointer_declarator "****pppppppcVar6" (* "*") (pointer_declarator "***pppppppcVar6" (* "*") (pointer_declarator "**pppppppcVar6" (* "*") (pointer_declarator "*pppppppcVar6" (* "*") (identifier "pppppppcVar6")))))))) (; ";")) (declaration "code ******ppppppcVar7;" (type_identifier "code") (pointer_declarator "******ppppppcVar7" (* "*") (pointer_declarator "*****ppppppcVar7" (* "*") (pointer_declarator "****ppppppcVar7" (* "*") (pointer_declarator "***ppppppcVar7" (* "*") (pointer_declarator "**ppppppcVar7" (* "*") (pointer_declarator "*ppppppcVar7" (* "*") (identifier "ppppppcVar7"))))))) (; ";")) (declaration "code *******pppppppcVar8;" (type_identifier "code") (pointer_declarator "*******pppppppcVar8" (* "*") (pointer_declarator "******pppppppcVar8" (* "*") (pointer_declarator "*****pppppppcVar8" (* "*") (pointer_declarator "****pppppppcVar8" (* "*") (pointer_declarator "***pppppppcVar8" (* "*") (pointer_declarator "**pppppppcVar8" (* "*") (pointer_declarator "*pppppppcVar8" (* "*") (identifier "pppppppcVar8")))))))) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "code ******ppppppcVar10;" (type_identifier "code") (pointer_declarator "******ppppppcVar10" (* "*") (pointer_declarator "*****ppppppcVar10" (* "*") (pointer_declarator "****ppppppcVar10" (* "*") (pointer_declarator "***ppppppcVar10" (* "*") (pointer_declarator "**ppppppcVar10" (* "*") (pointer_declarator "*ppppppcVar10" (* "*") (identifier "ppppppcVar10"))))))) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "code *******pppppppcVar13;" (type_identifier "code") (pointer_declarator "*******pppppppcVar13" (* "*") (pointer_declarator "******pppppppcVar13" (* "*") (pointer_declarator "*****pppppppcVar13" (* "*") (pointer_declarator "****pppppppcVar13" (* "*") (pointer_declarator "***pppppppcVar13" (* "*") (pointer_declarator "**pppppppcVar13" (* "*") (pointer_declarator "*pppppppcVar13" (* "*") (identifier "pppppppcVar13")))))))) (; ";")) (declaration "code *pcVar14;" (type_identifier "code") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "int *piVar16;" (primitive_type "int") (pointer_declarator "*piVar16" (* "*") (identifier "piVar16")) (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "int *piVar19;" (primitive_type "int") (pointer_declarator "*piVar19" (* "*") (identifier "piVar19")) (; ";")) (declaration "code *pcVar20;" (type_identifier "code") (pointer_declarator "*pcVar20" (* "*") (identifier "pcVar20")) (; ";")) (declaration "code *pcVar21;" (type_identifier "code") (pointer_declarator "*pcVar21" (* "*") (identifier "pcVar21")) (; ";")) (declaration "int *piVar22;" (primitive_type "int") (pointer_declarator "*piVar22" (* "*") (identifier "piVar22")) (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "code *******pppppppcVar24;" (type_identifier "code") (pointer_declarator "*******pppppppcVar24" (* "*") (pointer_declarator "******pppppppcVar24" (* "*") (pointer_declarator "*****pppppppcVar24" (* "*") (pointer_declarator "****pppppppcVar24" (* "*") (pointer_declarator "***pppppppcVar24" (* "*") (pointer_declarator "**pppppppcVar24" (* "*") (pointer_declarator "*pppppppcVar24" (* "*") (identifier "pppppppcVar24")))))))) (; ";")) (declaration "code *pcVar25;" (type_identifier "code") (pointer_declarator "*pcVar25" (* "*") (identifier "pcVar25")) (; ";")) (declaration "code *******pppppppcVar26;" (type_identifier "code") (pointer_declarator "*******pppppppcVar26" (* "*") (pointer_declarator "******pppppppcVar26" (* "*") (pointer_declarator "*****pppppppcVar26" (* "*") (pointer_declarator "****pppppppcVar26" (* "*") (pointer_declarator "***pppppppcVar26" (* "*") (pointer_declarator "**pppppppcVar26" (* "*") (pointer_declarator "*pppppppcVar26" (* "*") (identifier "pppppppcVar26")))))))) (; ";")) (declaration "code *pcVar27;" (type_identifier "code") (pointer_declarator "*pcVar27" (* "*") (identifier "pcVar27")) (; ";")) (declaration "int iVar28;" (primitive_type "int") (identifier "iVar28") (; ";")) (declaration "code *******pppppppcVar29;" (type_identifier "code") (pointer_declarator "*******pppppppcVar29" (* "*") (pointer_declarator "******pppppppcVar29" (* "*") (pointer_declarator "*****pppppppcVar29" (* "*") (pointer_declarator "****pppppppcVar29" (* "*") (pointer_declarator "***pppppppcVar29" (* "*") (pointer_declarator "**pppppppcVar29" (* "*") (pointer_declarator "*pppppppcVar29" (* "*") (identifier "pppppppcVar29")))))))) (; ";")) (declaration "code *******unaff_s4;" (type_identifier "code") (pointer_declarator "*******unaff_s4" (* "*") (pointer_declarator "******unaff_s4" (* "*") (pointer_declarator "*****unaff_s4" (* "*") (pointer_declarator "****unaff_s4" (* "*") (pointer_declarator "***unaff_s4" (* "*") (pointer_declarator "**unaff_s4" (* "*") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")))))))) (; ";")) (declaration "int iVar30;" (primitive_type "int") (identifier "iVar30") (; ";")) (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 ******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" (* "*") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")))))))) (; ";")) (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 "undefined *puVar32;" (type_identifier "undefined") (pointer_declarator "*puVar32" (* "*") (identifier "puVar32")) (; ";")) (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" (* "*") (pointer_declarator "*unaff_s8" (* "*") (identifier "unaff_s8")))))))) (; ";")) (declaration "int iVar33;" (primitive_type "int") (identifier "iVar33") (; ";")) (declaration "undefined4 uVar34;" (type_identifier "undefined4") (identifier "uVar34") (; ";")) (declaration "int iStack_150;" (primitive_type "int") (identifier "iStack_150") (; ";")) (declaration "uint uStack_14c;" (type_identifier "uint") (identifier "uStack_14c") (; ";")) (declaration "int iStack_144;" (primitive_type "int") (identifier "iStack_144") (; ";")) (declaration "code *******pppppppcStack_140;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_140" (* "*") (pointer_declarator "******pppppppcStack_140" (* "*") (pointer_declarator "*****pppppppcStack_140" (* "*") (pointer_declarator "****pppppppcStack_140" (* "*") (pointer_declarator "***pppppppcStack_140" (* "*") (pointer_declarator "**pppppppcStack_140" (* "*") (pointer_declarator "*pppppppcStack_140" (* "*") (identifier "pppppppcStack_140")))))))) (; ";")) (declaration "code *******pppppppcStack_13c;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_13c" (* "*") (pointer_declarator "******pppppppcStack_13c" (* "*") (pointer_declarator "*****pppppppcStack_13c" (* "*") (pointer_declarator "****pppppppcStack_13c" (* "*") (pointer_declarator "***pppppppcStack_13c" (* "*") (pointer_declarator "**pppppppcStack_13c" (* "*") (pointer_declarator "*pppppppcStack_13c" (* "*") (identifier "pppppppcStack_13c")))))))) (; ";")) (declaration "code *******pppppppcStack_138;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_138" (* "*") (pointer_declarator "******pppppppcStack_138" (* "*") (pointer_declarator "*****pppppppcStack_138" (* "*") (pointer_declarator "****pppppppcStack_138" (* "*") (pointer_declarator "***pppppppcStack_138" (* "*") (pointer_declarator "**pppppppcStack_138" (* "*") (pointer_declarator "*pppppppcStack_138" (* "*") (identifier "pppppppcStack_138")))))))) (; ";")) (declaration "code *******pppppppcStack_134;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_134" (* "*") (pointer_declarator "******pppppppcStack_134" (* "*") (pointer_declarator "*****pppppppcStack_134" (* "*") (pointer_declarator "****pppppppcStack_134" (* "*") (pointer_declarator "***pppppppcStack_134" (* "*") (pointer_declarator "**pppppppcStack_134" (* "*") (pointer_declarator "*pppppppcStack_134" (* "*") (identifier "pppppppcStack_134")))))))) (; ";")) (declaration "code *******pppppppcStack_130;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_130" (* "*") (pointer_declarator "******pppppppcStack_130" (* "*") (pointer_declarator "*****pppppppcStack_130" (* "*") (pointer_declarator "****pppppppcStack_130" (* "*") (pointer_declarator "***pppppppcStack_130" (* "*") (pointer_declarator "**pppppppcStack_130" (* "*") (pointer_declarator "*pppppppcStack_130" (* "*") (identifier "pppppppcStack_130")))))))) (; ";")) (declaration "code ******ppppppcStack_12c;" (type_identifier "code") (pointer_declarator "******ppppppcStack_12c" (* "*") (pointer_declarator "*****ppppppcStack_12c" (* "*") (pointer_declarator "****ppppppcStack_12c" (* "*") (pointer_declarator "***ppppppcStack_12c" (* "*") (pointer_declarator "**ppppppcStack_12c" (* "*") (pointer_declarator "*ppppppcStack_12c" (* "*") (identifier "ppppppcStack_12c"))))))) (; ";")) (declaration "code ******ppppppcStack_128;" (type_identifier "code") (pointer_declarator "******ppppppcStack_128" (* "*") (pointer_declarator "*****ppppppcStack_128" (* "*") (pointer_declarator "****ppppppcStack_128" (* "*") (pointer_declarator "***ppppppcStack_128" (* "*") (pointer_declarator "**ppppppcStack_128" (* "*") (pointer_declarator "*ppppppcStack_128" (* "*") (identifier "ppppppcStack_128"))))))) (; ";")) (declaration "code *******pppppppcStack_124;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_124" (* "*") (pointer_declarator "******pppppppcStack_124" (* "*") (pointer_declarator "*****pppppppcStack_124" (* "*") (pointer_declarator "****pppppppcStack_124" (* "*") (pointer_declarator "***pppppppcStack_124" (* "*") (pointer_declarator "**pppppppcStack_124" (* "*") (pointer_declarator "*pppppppcStack_124" (* "*") (identifier "pppppppcStack_124")))))))) (; ";")) (declaration "code *******pppppppcStack_120;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_120" (* "*") (pointer_declarator "******pppppppcStack_120" (* "*") (pointer_declarator "*****pppppppcStack_120" (* "*") (pointer_declarator "****pppppppcStack_120" (* "*") (pointer_declarator "***pppppppcStack_120" (* "*") (pointer_declarator "**pppppppcStack_120" (* "*") (pointer_declarator "*pppppppcStack_120" (* "*") (identifier "pppppppcStack_120")))))))) (; ";")) (declaration "undefined4 uStack_11c;" (type_identifier "undefined4") (identifier "uStack_11c") (; ";")) (declaration "undefined *puStack_108;" (type_identifier "undefined") (pointer_declarator "*puStack_108" (* "*") (identifier "puStack_108")) (; ";")) (declaration "code *pcStack_fc;" (type_identifier "code") (pointer_declarator "*pcStack_fc" (* "*") (identifier "pcStack_fc")) (; ";")) (declaration "code *pcStack_f8;" (type_identifier "code") (pointer_declarator "*pcStack_f8" (* "*") (identifier "pcStack_f8")) (; ";")) (declaration "code *******pppppppcStack_f4;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_f4" (* "*") (pointer_declarator "******pppppppcStack_f4" (* "*") (pointer_declarator "*****pppppppcStack_f4" (* "*") (pointer_declarator "****pppppppcStack_f4" (* "*") (pointer_declarator "***pppppppcStack_f4" (* "*") (pointer_declarator "**pppppppcStack_f4" (* "*") (pointer_declarator "*pppppppcStack_f4" (* "*") (identifier "pppppppcStack_f4")))))))) (; ";")) (declaration "code *******pppppppcStack_f0;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_f0" (* "*") (pointer_declarator "******pppppppcStack_f0" (* "*") (pointer_declarator "*****pppppppcStack_f0" (* "*") (pointer_declarator "****pppppppcStack_f0" (* "*") (pointer_declarator "***pppppppcStack_f0" (* "*") (pointer_declarator "**pppppppcStack_f0" (* "*") (pointer_declarator "*pppppppcStack_f0" (* "*") (identifier "pppppppcStack_f0")))))))) (; ";")) (declaration "code *pcStack_ec;" (type_identifier "code") (pointer_declarator "*pcStack_ec" (* "*") (identifier "pcStack_ec")) (; ";")) (declaration "code *******pppppppcStack_e8;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_e8" (* "*") (pointer_declarator "******pppppppcStack_e8" (* "*") (pointer_declarator "*****pppppppcStack_e8" (* "*") (pointer_declarator "****pppppppcStack_e8" (* "*") (pointer_declarator "***pppppppcStack_e8" (* "*") (pointer_declarator "**pppppppcStack_e8" (* "*") (pointer_declarator "*pppppppcStack_e8" (* "*") (identifier "pppppppcStack_e8")))))))) (; ";")) (declaration "int iStack_e4;" (primitive_type "int") (identifier "iStack_e4") (; ";")) (declaration "code *******pppppppcStack_e0;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_e0" (* "*") (pointer_declarator "******pppppppcStack_e0" (* "*") (pointer_declarator "*****pppppppcStack_e0" (* "*") (pointer_declarator "****pppppppcStack_e0" (* "*") (pointer_declarator "***pppppppcStack_e0" (* "*") (pointer_declarator "**pppppppcStack_e0" (* "*") (pointer_declarator "*pppppppcStack_e0" (* "*") (identifier "pppppppcStack_e0")))))))) (; ";")) (declaration "code *******pppppppcStack_dc;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_dc" (* "*") (pointer_declarator "******pppppppcStack_dc" (* "*") (pointer_declarator "*****pppppppcStack_dc" (* "*") (pointer_declarator "****pppppppcStack_dc" (* "*") (pointer_declarator "***pppppppcStack_dc" (* "*") (pointer_declarator "**pppppppcStack_dc" (* "*") (pointer_declarator "*pppppppcStack_dc" (* "*") (identifier "pppppppcStack_dc")))))))) (; ";")) (declaration "code *******pppppppcStack_d8;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_d8" (* "*") (pointer_declarator "******pppppppcStack_d8" (* "*") (pointer_declarator "*****pppppppcStack_d8" (* "*") (pointer_declarator "****pppppppcStack_d8" (* "*") (pointer_declarator "***pppppppcStack_d8" (* "*") (pointer_declarator "**pppppppcStack_d8" (* "*") (pointer_declarator "*pppppppcStack_d8" (* "*") (identifier "pppppppcStack_d8")))))))) (; ";")) (declaration "code *******pppppppcStack_d4;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_d4" (* "*") (pointer_declarator "******pppppppcStack_d4" (* "*") (pointer_declarator "*****pppppppcStack_d4" (* "*") (pointer_declarator "****pppppppcStack_d4" (* "*") (pointer_declarator "***pppppppcStack_d4" (* "*") (pointer_declarator "**pppppppcStack_d4" (* "*") (pointer_declarator "*pppppppcStack_d4" (* "*") (identifier "pppppppcStack_d4")))))))) (; ";")) (declaration "code *******pppppppcStack_d0;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_d0" (* "*") (pointer_declarator "******pppppppcStack_d0" (* "*") (pointer_declarator "*****pppppppcStack_d0" (* "*") (pointer_declarator "****pppppppcStack_d0" (* "*") (pointer_declarator "***pppppppcStack_d0" (* "*") (pointer_declarator "**pppppppcStack_d0" (* "*") (pointer_declarator "*pppppppcStack_d0" (* "*") (identifier "pppppppcStack_d0")))))))) (; ";")) (declaration "uint uStack_cc;" (type_identifier "uint") (identifier "uStack_cc") (; ";")) (declaration "code *******pppppppcStack_c8;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_c8" (* "*") (pointer_declarator "******pppppppcStack_c8" (* "*") (pointer_declarator "*****pppppppcStack_c8" (* "*") (pointer_declarator "****pppppppcStack_c8" (* "*") (pointer_declarator "***pppppppcStack_c8" (* "*") (pointer_declarator "**pppppppcStack_c8" (* "*") (pointer_declarator "*pppppppcStack_c8" (* "*") (identifier "pppppppcStack_c8")))))))) (; ";")) (declaration "code *******pppppppcStack_c4;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_c4" (* "*") (pointer_declarator "******pppppppcStack_c4" (* "*") (pointer_declarator "*****pppppppcStack_c4" (* "*") (pointer_declarator "****pppppppcStack_c4" (* "*") (pointer_declarator "***pppppppcStack_c4" (* "*") (pointer_declarator "**pppppppcStack_c4" (* "*") (pointer_declarator "*pppppppcStack_c4" (* "*") (identifier "pppppppcStack_c4")))))))) (; ";")) (declaration "code *pcStack_c0;" (type_identifier "code") (pointer_declarator "*pcStack_c0" (* "*") (identifier "pcStack_c0")) (; ";")) (declaration "uint uStack_bc;" (type_identifier "uint") (identifier "uStack_bc") (; ";")) (declaration "uint uStack_b8;" (type_identifier "uint") (identifier "uStack_b8") (; ";")) (declaration "uint uStack_b4;" (type_identifier "uint") (identifier "uStack_b4") (; ";")) (declaration "code *pcStack_b0;" (type_identifier "code") (pointer_declarator "*pcStack_b0" (* "*") (identifier "pcStack_b0")) (; ";")) (declaration "code *pcStack_ac;" (type_identifier "code") (pointer_declarator "*pcStack_ac" (* "*") (identifier "pcStack_ac")) (; ";")) (declaration "code *******pppppppcStack_a8;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_a8" (* "*") (pointer_declarator "******pppppppcStack_a8" (* "*") (pointer_declarator "*****pppppppcStack_a8" (* "*") (pointer_declarator "****pppppppcStack_a8" (* "*") (pointer_declarator "***pppppppcStack_a8" (* "*") (pointer_declarator "**pppppppcStack_a8" (* "*") (pointer_declarator "*pppppppcStack_a8" (* "*") (identifier "pppppppcStack_a8")))))))) (; ";")) (declaration "code ******ppppppcStack_a4;" (type_identifier "code") (pointer_declarator "******ppppppcStack_a4" (* "*") (pointer_declarator "*****ppppppcStack_a4" (* "*") (pointer_declarator "****ppppppcStack_a4" (* "*") (pointer_declarator "***ppppppcStack_a4" (* "*") (pointer_declarator "**ppppppcStack_a4" (* "*") (pointer_declarator "*ppppppcStack_a4" (* "*") (identifier "ppppppcStack_a4"))))))) (; ";")) (declaration "code *******pppppppcStack_a0;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_a0" (* "*") (pointer_declarator "******pppppppcStack_a0" (* "*") (pointer_declarator "*****pppppppcStack_a0" (* "*") (pointer_declarator "****pppppppcStack_a0" (* "*") (pointer_declarator "***pppppppcStack_a0" (* "*") (pointer_declarator "**pppppppcStack_a0" (* "*") (pointer_declarator "*pppppppcStack_a0" (* "*") (identifier "pppppppcStack_a0")))))))) (; ";")) (declaration "code *pcStack_9c;" (type_identifier "code") (pointer_declarator "*pcStack_9c" (* "*") (identifier "pcStack_9c")) (; ";")) (declaration "int *piStack_98;" (primitive_type "int") (pointer_declarator "*piStack_98" (* "*") (identifier "piStack_98")) (; ";")) (declaration "code *****pppppcStack_94;" (type_identifier "code") (pointer_declarator "*****pppppcStack_94" (* "*") (pointer_declarator "****pppppcStack_94" (* "*") (pointer_declarator "***pppppcStack_94" (* "*") (pointer_declarator "**pppppcStack_94" (* "*") (pointer_declarator "*pppppcStack_94" (* "*") (identifier "pppppcStack_94")))))) (; ";")) (declaration "code ******ppppppcStack_90;" (type_identifier "code") (pointer_declarator "******ppppppcStack_90" (* "*") (pointer_declarator "*****ppppppcStack_90" (* "*") (pointer_declarator "****ppppppcStack_90" (* "*") (pointer_declarator "***ppppppcStack_90" (* "*") (pointer_declarator "**ppppppcStack_90" (* "*") (pointer_declarator "*ppppppcStack_90" (* "*") (identifier "ppppppcStack_90"))))))) (; ";")) (declaration "code ******ppppppcStack_8c;" (type_identifier "code") (pointer_declarator "******ppppppcStack_8c" (* "*") (pointer_declarator "*****ppppppcStack_8c" (* "*") (pointer_declarator "****ppppppcStack_8c" (* "*") (pointer_declarator "***ppppppcStack_8c" (* "*") (pointer_declarator "**ppppppcStack_8c" (* "*") (pointer_declarator "*ppppppcStack_8c" (* "*") (identifier "ppppppcStack_8c"))))))) (; ";")) (declaration "code ******ppppppcStack_88;" (type_identifier "code") (pointer_declarator "******ppppppcStack_88" (* "*") (pointer_declarator "*****ppppppcStack_88" (* "*") (pointer_declarator "****ppppppcStack_88" (* "*") (pointer_declarator "***ppppppcStack_88" (* "*") (pointer_declarator "**ppppppcStack_88" (* "*") (pointer_declarator "*ppppppcStack_88" (* "*") (identifier "ppppppcStack_88"))))))) (; ";")) (declaration "uint uStack_84;" (type_identifier "uint") (identifier "uStack_84") (; ";")) (declaration "int *piStack_7c;" (primitive_type "int") (pointer_declarator "*piStack_7c" (* "*") (identifier "piStack_7c")) (; ";")) (declaration "code *******pppppppcStack_78;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_78" (* "*") (pointer_declarator "******pppppppcStack_78" (* "*") (pointer_declarator "*****pppppppcStack_78" (* "*") (pointer_declarator "****pppppppcStack_78" (* "*") (pointer_declarator "***pppppppcStack_78" (* "*") (pointer_declarator "**pppppppcStack_78" (* "*") (pointer_declarator "*pppppppcStack_78" (* "*") (identifier "pppppppcStack_78")))))))) (; ";")) (declaration "code *******pppppppcStack_74;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_74" (* "*") (pointer_declarator "******pppppppcStack_74" (* "*") (pointer_declarator "*****pppppppcStack_74" (* "*") (pointer_declarator "****pppppppcStack_74" (* "*") (pointer_declarator "***pppppppcStack_74" (* "*") (pointer_declarator "**pppppppcStack_74" (* "*") (pointer_declarator "*pppppppcStack_74" (* "*") (identifier "pppppppcStack_74")))))))) (; ";")) (declaration "undefined *puStack_70;" (type_identifier "undefined") (pointer_declarator "*puStack_70" (* "*") (identifier "puStack_70")) (; ";")) (declaration "code *******pppppppcStack_6c;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_6c" (* "*") (pointer_declarator "******pppppppcStack_6c" (* "*") (pointer_declarator "*****pppppppcStack_6c" (* "*") (pointer_declarator "****pppppppcStack_6c" (* "*") (pointer_declarator "***pppppppcStack_6c" (* "*") (pointer_declarator "**pppppppcStack_6c" (* "*") (pointer_declarator "*pppppppcStack_6c" (* "*") (identifier "pppppppcStack_6c")))))))) (; ";")) (declaration "code *******pppppppcStack_68;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_68" (* "*") (pointer_declarator "******pppppppcStack_68" (* "*") (pointer_declarator "*****pppppppcStack_68" (* "*") (pointer_declarator "****pppppppcStack_68" (* "*") (pointer_declarator "***pppppppcStack_68" (* "*") (pointer_declarator "**pppppppcStack_68" (* "*") (pointer_declarator "*pppppppcStack_68" (* "*") (identifier "pppppppcStack_68")))))))) (; ";")) (declaration "code *******local_24;" (type_identifier "code") (pointer_declarator "*******local_24" (* "*") (pointer_declarator "******local_24" (* "*") (pointer_declarator "*****local_24" (* "*") (pointer_declarator "****local_24" (* "*") (pointer_declarator "***local_24" (* "*") (pointer_declarator "**local_24" (* "*") (pointer_declarator "*local_24" (* "*") (identifier "local_24")))))))) (; ";")) (declaration "code ******local_20;" (type_identifier "code") (pointer_declarator "******local_20" (* "*") (pointer_declarator "*****local_20" (* "*") (pointer_declarator "****local_20" (* "*") (pointer_declarator "***local_20" (* "*") (pointer_declarator "**local_20" (* "*") (pointer_declarator "*local_20" (* "*") (identifier "local_20"))))))) (; ";")) (declaration "code *******local_1c;" (type_identifier "code") (pointer_declarator "*******local_1c" (* "*") (pointer_declarator "******local_1c" (* "*") (pointer_declarator "*****local_1c" (* "*") (pointer_declarator "****local_1c" (* "*") (pointer_declarator "***local_1c" (* "*") (pointer_declarator "**local_1c" (* "*") (pointer_declarator "*local_1c" (* "*") (identifier "local_1c")))))))) (; ";")) (expression_statement "pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c" (identifier "pppppppcVar26") (= "=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "PTR___stack_chk_guard_0015ba2c"))) (; ";")) (expression_statement "local_1c = *(code ********)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_1c = *(code ********)PTR___stack_chk_guard_0015ba2c" (identifier "local_1c") (= "=") (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 "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (identifier "PTR___stack_chk_guard_0015ba2c")))) (; ";")) (if_statement "if (param_2[0x12] == (code ******)0x0) {\n    pppppppcVar24 = (code *******)param_2[10];\n  }\n  else {\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }" (if "if") (parenthesized_expression "(param_2[0x12] == (code ******)0x0)" (( "(") (binary_expression "param_2[0x12] == (code ******)0x0" (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]")) (== "==") (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    pppppppcVar24 = (code *******)param_2[10];\n  }" ({ "{") (expression_statement "pppppppcVar24 = (code *******)param_2[10];" (assignment_expression "pppppppcVar24 = (code *******)param_2[10]" (identifier "pppppppcVar24") (= "=") (cast_expression "(code *******)param_2[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }" (else "else") (compound_statement "{\n    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);\n  }" ({ "{") (expression_statement "pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);" (assignment_expression "pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13])" (identifier "pppppppcVar24") (= "=") (cast_expression "(code *******)((int)param_2[0x12] + (int)param_2[0x13])" (( "(") (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 "((int)param_2[0x12] + (int)param_2[0x13])" (( "(") (binary_expression "(int)param_2[0x12] + (int)param_2[0x13]" (cast_expression "(int)param_2[0x12]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]"))) (+ "+") (cast_expression "(int)param_2[0x13]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_2[0x13]" (identifier "param_2") ([ "[") (number_literal "0x13") (] "]")))) () ")")))) (; ";")) (} "}")))) (if_statement "if ((pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)) {\n    pppppppcVar13 = param_2;\n    if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }\n  }\n  else {\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }" (if "if") (parenthesized_expression "((pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24))" (( "(") (binary_expression "(pppppppcVar24 == (code *******)0x0) ||\n     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)" (parenthesized_expression "(pppppppcVar24 == (code *******)0x0)" (( "(") (binary_expression "pppppppcVar24 == (code *******)0x0" (identifier "pppppppcVar24") (== "==") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)" (( "(") (binary_expression "(code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24" (cast_expression "(code *******)((int)param_2[10] + (int)param_2[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)param_2[10] + (int)param_2[0xb])" (( "(") (binary_expression "(int)param_2[10] + (int)param_2[0xb]" (cast_expression "(int)param_2[10]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]"))) (+ "+") (cast_expression "(int)param_2[0xb]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_2[0xb]" (identifier "param_2") ([ "[") (number_literal "0xb") (] "]")))) () ")"))) (<= "<=") (identifier "pppppppcVar24")) () ")"))) () ")")) (compound_statement "{\n    pppppppcVar13 = param_2;\n    if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }\n  }" ({ "{") (expression_statement "pppppppcVar13 = param_2;" (assignment_expression "pppppppcVar13 = param_2" (identifier "pppppppcVar13") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (param_2[0xe] == (code ******)0x0) {\n      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }\n    else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }" (if "if") (parenthesized_expression "(param_2[0xe] == (code ******)0x0)" (( "(") (binary_expression "param_2[0xe] == (code ******)0x0" (subscript_expression "param_2[0xe]" (identifier "param_2") ([ "[") (number_literal "0xe") (] "]")) (== "==") (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 *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);\n      ppppppcVar7 = param_2[8];\n      pppppppcVar6 = (code *******)param_2[9];\n      if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }\n      param_4 = (code *******)((int)pppppppcVar6 + 1);\n      param_2[9] = (code ******)param_4;\n      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));\n      iVar2 = FUN_0011c2d4(param_1);\n      if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }\n    }" ({ "{") (expression_statement "(*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);" (call_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b6f8 + 0x5384))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b6f8 + 0x5384)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b6f8 + 0x5384)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x5384)" (( "(") (binary_expression "PTR_LAB_0015b6f8 + 0x5384" (identifier "PTR_LAB_0015b6f8") (+ "+") (number_literal "0x5384")) () ")")))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")"))) (; ";")) (expression_statement "ppppppcVar7 = param_2[8];" (assignment_expression "ppppppcVar7 = param_2[8]" (identifier "ppppppcVar7") (= "=") (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "pppppppcVar6 = (code *******)param_2[9];" (assignment_expression "pppppppcVar6 = (code *******)param_2[9]" (identifier "pppppppcVar6") (= "=") (cast_expression "(code *******)param_2[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")))) (; ";")) (if_statement "if ((int)param_2[4] <= (int)ppppppcVar7) {\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }" (if "if") (parenthesized_expression "((int)param_2[4] <= (int)ppppppcVar7)" (( "(") (binary_expression "(int)param_2[4] <= (int)ppppppcVar7" (cast_expression "(int)param_2[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]"))) (<= "<=") (cast_expression "(int)ppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar7"))) () ")")) (compound_statement "{\n        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;\n        param_4 = (code *******)((int)pppppppcVar6 + 1);\n        if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }\n      }" ({ "{") (if_statement "if (param_2[4] != ppppppcVar7) goto LAB_0011da80;" (if "if") (parenthesized_expression "(param_2[4] != ppppppcVar7)" (( "(") (binary_expression "param_2[4] != ppppppcVar7" (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")) (!= "!=") (identifier "ppppppcVar7")) () ")")) (goto_statement "goto LAB_0011da80;" (goto "goto") (statement_identifier "LAB_0011da80") (; ";"))) (expression_statement "param_4 = (code *******)((int)pppppppcVar6 + 1);" (assignment_expression "param_4 = (code *******)((int)pppppppcVar6 + 1)" (identifier "param_4") (= "=") (cast_expression "(code *******)((int)pppppppcVar6 + 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar6 + 1)" (( "(") (binary_expression "(int)pppppppcVar6 + 1" (cast_expression "(int)pppppppcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar6")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (param_2[5] <= pppppppcVar6) {\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }" (if "if") (parenthesized_expression "(param_2[5] <= pppppppcVar6)" (( "(") (binary_expression "param_2[5] <= pppppppcVar6" (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")) (<= "<=") (identifier "pppppppcVar6")) () ")")) (compound_statement "{\n          iVar2 = 0;\n          goto LAB_0011db18;\n        }" ({ "{") (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0011db18;" (goto "goto") (statement_identifier "LAB_0011db18") (; ";")) (} "}"))) (} "}"))) (expression_statement "param_4 = (code *******)((int)pppppppcVar6 + 1);" (assignment_expression "param_4 = (code *******)((int)pppppppcVar6 + 1)" (identifier "param_4") (= "=") (cast_expression "(code *******)((int)pppppppcVar6 + 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar6 + 1)" (( "(") (binary_expression "(int)pppppppcVar6 + 1" (cast_expression "(int)pppppppcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar6")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_2[9] = (code ******)param_4;" (assignment_expression "param_2[9] = (code ******)param_4" (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(code ******)param_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 "*" (* "*")))))))) () ")") (identifier "param_4"))) (; ";")) (expression_statement "param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));" (assignment_expression "param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6))" (subscript_expression "param_2[8]" (identifier "param_2") ([ "[") (number_literal "8") (] "]")) (= "=") (cast_expression "(code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6))" (( "(") (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)ppppppcVar7 + (uint)(param_4 < pppppppcVar6))" (( "(") (binary_expression "(int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6)" (cast_expression "(int)ppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar7")) (+ "+") (call_expression "(uint)(param_4 < pppppppcVar6)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_4 < pppppppcVar6)" (( "(") (binary_expression "param_4 < pppppppcVar6" (identifier "param_4") (< "<") (identifier "pppppppcVar6")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar2 = FUN_0011c2d4(param_1);" (assignment_expression "iVar2 = FUN_0011c2d4(param_1)" (identifier "iVar2") (= "=") (call_expression "FUN_0011c2d4(param_1)" (identifier "FUN_0011c2d4") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pppppppcVar24 = (code *******)param_2[10];\n        goto LAB_0011d91c;\n      }" ({ "{") (expression_statement "pppppppcVar24 = (code *******)param_2[10];" (assignment_expression "pppppppcVar24 = (code *******)param_2[10]" (identifier "pppppppcVar24") (= "=") (cast_expression "(code *******)param_2[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")))) (; ";")) (goto_statement "goto LAB_0011d91c;" (goto "goto") (statement_identifier "LAB_0011d91c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }" (else "else") (compound_statement "{\n      param_1 = (code *******)*param_2[0xe];\n      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);\n      param_2[10] = (code ******)0x0;\n      puVar32 = PTR_sqlite3_malloc_0015b640;\n      if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }\n    }" ({ "{") (expression_statement "param_1 = (code *******)*param_2[0xe];" (assignment_expression "param_1 = (code *******)*param_2[0xe]" (identifier "param_1") (= "=") (cast_expression "(code *******)*param_2[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*param_2[0xe]" (* "*") (subscript_expression "param_2[0xe]" (identifier "param_2") ([ "[") (number_literal "0xe") (] "]"))))) (; ";")) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(param_2[10])" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" (* "*") (cast_expression "(code *)PTR_sqlite3_free_0015b620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_free_0015b620"))) () ")")) (argument_list "(param_2[10])" (( "(") (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")) () ")"))) (; ";")) (expression_statement "param_2[10] = (code ******)0x0;" (assignment_expression "param_2[10] = (code ******)0x0" (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar32 = PTR_sqlite3_malloc_0015b640;" (assignment_expression "puVar32 = PTR_sqlite3_malloc_0015b640" (identifier "puVar32") (= "=") (identifier "PTR_sqlite3_malloc_0015b640")) (; ";")) (if_statement "if (param_1 == (code *******)0x0) {\nLAB_0011da80:\n        iVar2 = 0;\n      }\n      else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }" (if "if") (parenthesized_expression "(param_1 == (code *******)0x0)" (( "(") (binary_expression "param_1 == (code *******)0x0" (identifier "param_1") (== "==") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0011da80:\n        iVar2 = 0;\n      }" ({ "{") (labeled_statement "LAB_0011da80:\n        iVar2 = 0;" (statement_identifier "LAB_0011da80") (: ":") (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }" (else "else") (compound_statement "{\n        unaff_s4 = (code *******)param_1[2];\n        ppppppcVar7 = *unaff_s4;\n        param_2[0x10] = param_1[3];\n        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);\n        param_2[0xf] = param_1[4];\n        iVar2 = (*(code *)puVar32)(pppppppcVar24);\n        if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }\nLAB_0011dbc4:\n        iVar2 = 7;\n      }" ({ "{") (expression_statement "unaff_s4 = (code *******)param_1[2];" (assignment_expression "unaff_s4 = (code *******)param_1[2]" (identifier "unaff_s4") (= "=") (cast_expression "(code *******)param_1[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "ppppppcVar7 = *unaff_s4;" (assignment_expression "ppppppcVar7 = *unaff_s4" (identifier "ppppppcVar7") (= "=") (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4"))) (; ";")) (expression_statement "param_2[0x10] = param_1[3];" (assignment_expression "param_2[0x10] = param_1[3]" (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);" (assignment_expression "pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1)" (identifier "pppppppcVar24") (= "=") (cast_expression "(code *******)((int)ppppppcVar7 + 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)ppppppcVar7 + 1)" (( "(") (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar7")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_2[0xf] = param_1[4];" (assignment_expression "param_2[0xf] = param_1[4]" (subscript_expression "param_2[0xf]" (identifier "param_2") ([ "[") (number_literal "0xf") (] "]")) (= "=") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "iVar2 = (*(code *)puVar32)(pppppppcVar24);" (assignment_expression "iVar2 = (*(code *)puVar32)(pppppppcVar24)" (identifier "iVar2") (= "=") (call_expression "(*(code *)puVar32)(pppppppcVar24)" (parenthesized_expression "(*(code *)puVar32)" (( "(") (pointer_expression "*(code *)puVar32" (* "*") (cast_expression "(code *)puVar32" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar32"))) () ")")) (argument_list "(pppppppcVar24)" (( "(") (identifier "pppppppcVar24") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pppppppcVar13 = (code *******)unaff_s4[1];\n          ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);\n          iVar2 = 0;\n          param_2[0x13] = (code ******)pppppppcVar24;\n          param_2[0xb] = (code ******)pppppppcVar24;\n          param_2[0x12] = ppppppcVar7;\n          param_2[10] = ppppppcVar7;\n          param_2[0xe] = param_2[0xe] + 1;\n          goto LAB_0011db18;\n        }" ({ "{") (expression_statement "pppppppcVar13 = (code *******)unaff_s4[1];" (assignment_expression "pppppppcVar13 = (code *******)unaff_s4[1]" (identifier "pppppppcVar13") (= "=") (cast_expression "(code *******)unaff_s4[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "unaff_s4[1]" (identifier "unaff_s4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);" (assignment_expression "ppppppcVar7 = (code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24)" (identifier "ppppppcVar7") (= "=") (cast_expression "(code ******)\n                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24)" (( "(") (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 *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" (( "(") (pointer_expression "*(code *)PTR_memcpy_0015ba30" (* "*") (cast_expression "(code *)PTR_memcpy_0015ba30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_0015ba30"))) () ")")) (argument_list "(iVar2,pppppppcVar13,pppppppcVar24)" (( "(") (identifier "iVar2") (, ",") (identifier "pppppppcVar13") (, ",") (identifier "pppppppcVar24") () ")"))))) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (expression_statement "param_2[0x13] = (code ******)pppppppcVar24;" (assignment_expression "param_2[0x13] = (code ******)pppppppcVar24" (subscript_expression "param_2[0x13]" (identifier "param_2") ([ "[") (number_literal "0x13") (] "]")) (= "=") (cast_expression "(code ******)pppppppcVar24" (( "(") (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 "pppppppcVar24"))) (; ";")) (expression_statement "param_2[0xb] = (code ******)pppppppcVar24;" (assignment_expression "param_2[0xb] = (code ******)pppppppcVar24" (subscript_expression "param_2[0xb]" (identifier "param_2") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(code ******)pppppppcVar24" (( "(") (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 "pppppppcVar24"))) (; ";")) (expression_statement "param_2[0x12] = ppppppcVar7;" (assignment_expression "param_2[0x12] = ppppppcVar7" (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]")) (= "=") (identifier "ppppppcVar7")) (; ";")) (expression_statement "param_2[10] = ppppppcVar7;" (assignment_expression "param_2[10] = ppppppcVar7" (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "ppppppcVar7")) (; ";")) (expression_statement "param_2[0xe] = param_2[0xe] + 1;" (assignment_expression "param_2[0xe] = param_2[0xe] + 1" (subscript_expression "param_2[0xe]" (identifier "param_2") ([ "[") (number_literal "0xe") (] "]")) (= "=") (binary_expression "param_2[0xe] + 1" (subscript_expression "param_2[0xe]" (identifier "param_2") ([ "[") (number_literal "0xe") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_0011db18;" (goto "goto") (statement_identifier "LAB_0011db18") (; ";")) (} "}"))) (labeled_statement "LAB_0011dbc4:\n        iVar2 = 7;" (statement_identifier "LAB_0011dbc4") (: ":") (expression_statement "iVar2 = 7;" (assignment_expression "iVar2 = 7" (identifier "iVar2") (= "=") (number_literal "7")) (; ";"))) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }" (else "else") (compound_statement "{\nLAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);\n    pppppppcVar13 = pppppppcVar24;\n    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);\n    if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }\n  }" ({ "{") (labeled_statement "LAB_0011d91c:\n    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);" (statement_identifier "LAB_0011d91c") (: ":") (expression_statement "param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);" (assignment_expression "param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80)" (identifier "param_1") (= "=") (cast_expression "(code *******)(PTR_LAB_0015b6f8 + 0x5f80)" (( "(") (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 "(PTR_LAB_0015b6f8 + 0x5f80)" (( "(") (binary_expression "PTR_LAB_0015b6f8 + 0x5f80" (identifier "PTR_LAB_0015b6f8") (+ "+") (number_literal "0x5f80")) () ")")))) (; ";"))) (expression_statement "pppppppcVar13 = pppppppcVar24;" (assignment_expression "pppppppcVar13 = pppppppcVar24" (identifier "pppppppcVar13") (= "=") (identifier "pppppppcVar24")) (; ";")) (expression_statement "iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);" (assignment_expression "iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14)" (identifier "iVar2") (= "=") (call_expression "(*(code *)param_1)(param_2,pppppppcVar24,0x14)" (parenthesized_expression "(*(code *)param_1)" (( "(") (pointer_expression "*(code *)param_1" (* "*") (cast_expression "(code *)param_1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) () ")")) (argument_list "(param_2,pppppppcVar24,0x14)" (( "(") (identifier "param_2") (, ",") (identifier "pppppppcVar24") (, ",") (number_literal "0x14") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }\n      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);\n      if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }\n      pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n      if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }\n      iVar2 = 0x10b;\n    }" ({ "{") (if_statement "if ((char)*(code *)pppppppcVar24 < '\0') {\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }\n      else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }" (if "if") (parenthesized_expression "((char)*(code *)pppppppcVar24 < '\0')" (( "(") (binary_expression "(char)*(code *)pppppppcVar24 < '\0'" (cast_expression "(char)*(code *)pppppppcVar24" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(code *)pppppppcVar24" (* "*") (cast_expression "(code *)pppppppcVar24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar24")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        pppppppcVar13 = (code *******)&local_24;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);\n      }" ({ "{") (expression_statement "pppppppcVar13 = (code *******)&local_24;" (assignment_expression "pppppppcVar13 = (code *******)&local_24" (identifier "pppppppcVar13") (= "=") (cast_expression "(code *******)&local_24" (( "(") (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 "*" (* "*"))))))))) () ")") (pointer_expression "&local_24" (& "&") (identifier "local_24")))) (; ";")) (expression_statement "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);" (assignment_expression "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24)" (identifier "iVar2") (= "=") (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" (( "(") (binary_expression "PTR_LAB_0015b65c + 0x1084" (identifier "PTR_LAB_0015b65c") (+ "+") (number_literal "0x1084")) () ")")))) () ")")) (argument_list "(pppppppcVar24)" (( "(") (identifier "pppppppcVar24") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }" (else "else") (compound_statement "{\n        iVar2 = 1;\n        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;\n      }" ({ "{") (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" (identifier "iVar2") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;" (assignment_expression "local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24" (identifier "local_24") (= "=") (binary_expression "(code *******)(uint)(byte)*(code *)pppppppcVar24" (cast_expression "(code *******)(uint)(byte)" (( "(") (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 "*" (* "*"))))))))) () ")") (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")")))) (* "*") (cast_expression "(code *)pppppppcVar24" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar24")))) (; ";")) (} "}")))) (expression_statement "pcVar25 = (code *)((int)pppppppcVar24 + iVar2);" (assignment_expression "pcVar25 = (code *)((int)pppppppcVar24 + iVar2)" (identifier "pcVar25") (= "=") (cast_expression "(code *)((int)pppppppcVar24 + iVar2)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar24 + iVar2)" (( "(") (binary_expression "(int)pppppppcVar24 + iVar2" (cast_expression "(int)pppppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar24")) (+ "+") (identifier "iVar2")) () ")")))) (; ";")) (if_statement "if ((char)*pcVar25 < '\0') {\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }\n      else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }" (if "if") (parenthesized_expression "((char)*pcVar25 < '\0')" (( "(") (binary_expression "(char)*pcVar25 < '\0'" (cast_expression "(char)*pcVar25" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25"))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        pppppppcVar13 = &local_20;\n        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n      }" ({ "{") (expression_statement "pppppppcVar13 = &local_20;" (assignment_expression "pppppppcVar13 = &local_20" (identifier "pppppppcVar13") (= "=") (pointer_expression "&local_20" (& "&") (identifier "local_20"))) (; ";")) (expression_statement "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);" (assignment_expression "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25)" (identifier "iVar2") (= "=") (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" (( "(") (binary_expression "PTR_LAB_0015b65c + 0x1084" (identifier "PTR_LAB_0015b65c") (+ "+") (number_literal "0x1084")) () ")")))) () ")")) (argument_list "(pcVar25)" (( "(") (identifier "pcVar25") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }" (else "else") (compound_statement "{\n        iVar2 = 1;\n        local_20 = (code ******)(uint)(byte)*pcVar25;\n      }" ({ "{") (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" (identifier "iVar2") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_20 = (code ******)(uint)(byte)*pcVar25;" (assignment_expression "local_20 = (code ******)(uint)(byte)*pcVar25" (identifier "local_20") (= "=") (binary_expression "(code ******)(uint)(byte)*pcVar25" (cast_expression "(code ******)(uint)(byte)" (( "(") (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 "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")")))) (* "*") (identifier "pcVar25"))) (; ";")) (} "}")))) (expression_statement "pppppppcVar24 = (code *******)(pcVar25 + iVar2);" (assignment_expression "pppppppcVar24 = (code *******)(pcVar25 + iVar2)" (identifier "pppppppcVar24") (= "=") (cast_expression "(code *******)(pcVar25 + iVar2)" (( "(") (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 "(pcVar25 + iVar2)" (( "(") (binary_expression "pcVar25 + iVar2" (identifier "pcVar25") (+ "+") (identifier "iVar2")) () ")")))) (; ";")) (if_statement "if (0 < (int)local_20) {\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(0 < (int)local_20)" (( "(") (binary_expression "0 < (int)local_20" (number_literal "0") (< "<") (cast_expression "(int)local_20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_20"))) () ")")) (compound_statement "{\n        iVar2 = 0x10b;\n        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;\n        pppppppcVar6 = (code *******)param_2[0x11];\n        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);\n        if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }\n      }" ({ "{") (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" (identifier "iVar2") (= "=") (number_literal "0x10b")) (; ";")) (if_statement "if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)\n        goto LAB_0011db18;" (if "if") (parenthesized_expression "(((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)" (( "(") (binary_expression "((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20" (binary_expression "((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24" (parenthesized_expression "((int)param_2[10] + (int)param_2[0xb])" (( "(") (binary_expression "(int)param_2[10] + (int)param_2[0xb]" (cast_expression "(int)param_2[10]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]"))) (+ "+") (cast_expression "(int)param_2[0xb]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_2[0xb]" (identifier "param_2") ([ "[") (number_literal "0xb") (] "]")))) () ")")) (- "-") (cast_expression "(int)pppppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar24"))) (< "<") (cast_expression "(int)local_20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_20"))) () ")")) (goto_statement "goto LAB_0011db18;" (goto "goto") (statement_identifier "LAB_0011db18") (; ";"))) (expression_statement "pppppppcVar6 = (code *******)param_2[0x11];" (assignment_expression "pppppppcVar6 = (code *******)param_2[0x11]" (identifier "pppppppcVar6") (= "=") (cast_expression "(code *******)param_2[0x11]" (( "(") (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 "*" (* "*"))))))))) () ")") (subscript_expression "param_2[0x11]" (identifier "param_2") ([ "[") (number_literal "0x11") (] "]")))) (; ";")) (expression_statement "pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);" (assignment_expression "pppppppcVar13 = (code *******)((int)local_24 >> 0x1f)" (identifier "pppppppcVar13") (= "=") (cast_expression "(code *******)((int)local_24 >> 0x1f)" (( "(") (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 "((int)local_24 >> 0x1f)" (( "(") (binary_expression "(int)local_24 >> 0x1f" (cast_expression "(int)local_24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_24")) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if ((int)local_24 <= (int)pppppppcVar6) {\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }" (if "if") (parenthesized_expression "((int)local_24 <= (int)pppppppcVar6)" (( "(") (binary_expression "(int)local_24 <= (int)pppppppcVar6" (cast_expression "(int)local_24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_24")) (<= "<=") (cast_expression "(int)pppppppcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar6"))) () ")")) (compound_statement "{\n          param_4 = (code *******)((int)local_24 + (int)local_20);\n          pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));\n          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);\n          if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }\n          pppppppcVar13 = pppppppcVar24;\n          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);\n          if (iVar2 != 0) goto LAB_0011db18;\n          pppppppcVar13 = pppppppcVar24;\n          (*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);\n          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);\n          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);\n          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;\n          if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }\n          pppppppcVar24 = (code *******)(pcVar25 + iVar2);\n          param_2[0x12] = (code ******)pppppppcVar24;\n          param_2[0x14] = (code ******)0x0;\n          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }\n        }" ({ "{") (expression_statement "param_4 = (code *******)((int)local_24 + (int)local_20);" (assignment_expression "param_4 = (code *******)((int)local_24 + (int)local_20)" (identifier "param_4") (= "=") (cast_expression "(code *******)((int)local_24 + (int)local_20)" (( "(") (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 "((int)local_24 + (int)local_20)" (( "(") (binary_expression "(int)local_24 + (int)local_20" (cast_expression "(int)local_24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_24")) (+ "+") (cast_expression "(int)local_20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_20"))) () ")")))) (; ";")) (expression_statement "pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));" (assignment_expression "pcVar25 = (code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f))" (identifier "pcVar25") (= "=") (cast_expression "(code *)((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f))" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f))" (( "(") (binary_expression "(int)pppppppcVar13 +\n                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f)" (binary_expression "(int)pppppppcVar13 +\n                            (uint)(param_4 < local_24)" (cast_expression "(int)pppppppcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar13")) (+ "+") (call_expression "(uint)(param_4 < local_24)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_4 < local_24)" (( "(") (binary_expression "param_4 < local_24" (identifier "param_4") (< "<") (identifier "local_24")) () ")")))) (+ "+") (parenthesized_expression "((int)local_20 >> 0x1f)" (( "(") (binary_expression "(int)local_20 >> 0x1f" (cast_expression "(int)local_20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_20")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")))) (; ";")) (expression_statement "pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);" (assignment_expression "pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25)" (identifier "pppppppcVar13") (= "=") (cast_expression "(code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25)" (( "(") (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 "*" (* "*"))))))))) () ")") (call_expression "(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)pppppppcVar6 >> 0x1f < (int)pcVar25)" (( "(") (binary_expression "(int)pppppppcVar6 >> 0x1f < (int)pcVar25" (binary_expression "(int)pppppppcVar6 >> 0x1f" (cast_expression "(int)pppppppcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar6")) (>> ">>") (number_literal "0x1f")) (< "<") (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25"))) () ")"))))) (; ";")) (if_statement "if ((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }" (if "if") (parenthesized_expression "((pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4))))" (( "(") (binary_expression "(pppppppcVar13 != (code *******)0x0) ||\n             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))" (parenthesized_expression "(pppppppcVar13 != (code *******)0x0)" (( "(") (binary_expression "pppppppcVar13 != (code *******)0x0" (identifier "pppppppcVar13") (!= "!=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))" (( "(") (parenthesized_expression "(pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4))" (( "(") (binary_expression "pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)" (binary_expression "pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f)" (identifier "pcVar25") (== "==") (cast_expression "(code *)((int)pppppppcVar6 >> 0x1f)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar6 >> 0x1f)" (( "(") (binary_expression "(int)pppppppcVar6 >> 0x1f" (cast_expression "(int)pppppppcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar6")) (>> ">>") (number_literal "0x1f")) () ")")))) (&& "&&") (parenthesized_expression "(pppppppcVar6 < param_4)" (( "(") (binary_expression "pppppppcVar6 < param_4" (identifier "pppppppcVar6") (< "<") (identifier "param_4")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            uVar18 = (uint)param_4 >> 0x1f;\n            unaff_s4 = (code *******)((int)param_4 * 2);\n            param_4 = unaff_s4;\n            ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;\n            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;\n            param_2[0x10] = ppppppcVar7;\n            param_2[0x11] = (code ******)unaff_s4;\n          }" ({ "{") (expression_statement "uVar18 = (uint)param_4 >> 0x1f;" (assignment_expression "uVar18 = (uint)param_4 >> 0x1f" (identifier "uVar18") (= "=") (binary_expression "(uint)param_4 >> 0x1f" (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4")) (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "unaff_s4 = (code *******)((int)param_4 * 2);" (assignment_expression "unaff_s4 = (code *******)((int)param_4 * 2)" (identifier "unaff_s4") (= "=") (cast_expression "(code *******)((int)param_4 * 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)param_4 * 2)" (( "(") (binary_expression "(int)param_4 * 2" (cast_expression "(int)param_4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_4")) (* "*") (number_literal "2")) () ")")))) (; ";")) (expression_statement "param_4 = unaff_s4;" (assignment_expression "param_4 = unaff_s4" (identifier "param_4") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)\n            ;" (assignment_expression "ppppppcVar7 = (code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)" (identifier "ppppppcVar7") (= "=") (cast_expression "(code ******)\n                          (*(code *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)" (( "(") (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 *)PTR_sqlite3_realloc64_0015b764)\n                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)" (parenthesized_expression "(*(code *)PTR_sqlite3_realloc64_0015b764)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_realloc64_0015b764" (* "*") (cast_expression "(code *)PTR_sqlite3_realloc64_0015b764" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_realloc64_0015b764"))) () ")")) (argument_list "(param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)" (( "(") (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (, ",") (identifier "pppppppcVar13") (, ",") (binary_expression "uVar18 | (int)pcVar25 * 2" (identifier "uVar18") (| "|") (binary_expression "(int)pcVar25 * 2" (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")) (* "*") (number_literal "2"))) (, ",") (identifier "unaff_s4") () ")"))))) (; ";")) (if_statement "if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;" (if "if") (parenthesized_expression "(ppppppcVar7 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar7 == (code ******)0x0" (identifier "ppppppcVar7") (== "==") (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_0011dbc4;" (goto "goto") (statement_identifier "LAB_0011dbc4") (; ";"))) (expression_statement "param_2[0x10] = ppppppcVar7;" (assignment_expression "param_2[0x10] = ppppppcVar7" (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "ppppppcVar7")) (; ";")) (expression_statement "param_2[0x11] = (code ******)unaff_s4;" (assignment_expression "param_2[0x11] = (code ******)unaff_s4" (subscript_expression "param_2[0x11]" (identifier "param_2") ([ "[") (number_literal "0x11") (] "]")) (= "=") (cast_expression "(code ******)unaff_s4" (( "(") (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 "unaff_s4"))) (; ";")) (} "}"))) (expression_statement "pppppppcVar13 = pppppppcVar24;" (assignment_expression "pppppppcVar13 = pppppppcVar24" (identifier "pppppppcVar13") (= "=") (identifier "pppppppcVar24")) (; ";")) (expression_statement "iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);" (assignment_expression "iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10)" (identifier "iVar2") (= "=") (call_expression "(*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10)" (parenthesized_expression "(*(code *)param_1)" (( "(") (pointer_expression "*(code *)param_1" (* "*") (cast_expression "(code *)param_1" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) () ")")) (argument_list "(param_2,pppppppcVar24,(int)local_20 + 10)" (( "(") (identifier "param_2") (, ",") (identifier "pppppppcVar24") (, ",") (binary_expression "(int)local_20 + 10" (cast_expression "(int)local_20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_20")) (+ "+") (number_literal "10")) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) goto LAB_0011db18;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011db18;" (goto "goto") (statement_identifier "LAB_0011db18") (; ";"))) (expression_statement "pppppppcVar13 = pppppppcVar24;" (assignment_expression "pppppppcVar13 = pppppppcVar24" (identifier "pppppppcVar13") (= "=") (identifier "pppppppcVar24")) (; ";")) (expression_statement "(*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);" (call_expression "(*(code *)PTR_memcpy_0015ba30)\n                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20)" (parenthesized_expression "(*(code *)PTR_memcpy_0015ba30)" (( "(") (pointer_expression "*(code *)PTR_memcpy_0015ba30" (* "*") (cast_expression "(code *)PTR_memcpy_0015ba30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memcpy_0015ba30"))) () ")")) (argument_list "((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20)" (( "(") (cast_expression "(code *)((int)local_24 + (int)param_2[0x10])" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_24 + (int)param_2[0x10])" (( "(") (binary_expression "(int)local_24 + (int)param_2[0x10]" (cast_expression "(int)local_24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_24")) (+ "+") (cast_expression "(int)param_2[0x10]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_2[0x10]" (identifier "param_2") ([ "[") (number_literal "0x10") (] "]")))) () ")"))) (, ",") (identifier "pppppppcVar24") (, ",") (identifier "local_20") () ")"))) (; ";")) (expression_statement "pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);" (assignment_expression "pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20)" (identifier "pcVar25") (= "=") (cast_expression "(code *)((int)pppppppcVar24 + (int)local_20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar24 + (int)local_20)" (( "(") (binary_expression "(int)pppppppcVar24 + (int)local_20" (cast_expression "(int)pppppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar24")) (+ "+") (cast_expression "(int)local_20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_20"))) () ")")))) (; ";")) (expression_statement "param_2[0xf] = (code ******)((int)local_24 + (int)local_20);" (assignment_expression "param_2[0xf] = (code ******)((int)local_24 + (int)local_20)" (subscript_expression "param_2[0xf]" (identifier "param_2") ([ "[") (number_literal "0xf") (] "]")) (= "=") (cast_expression "(code ******)((int)local_24 + (int)local_20)" (( "(") (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)local_24 + (int)local_20)" (( "(") (binary_expression "(int)local_24 + (int)local_20" (cast_expression "(int)local_24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_24")) (+ "+") (cast_expression "(int)local_20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_20"))) () ")")))) (; ";")) (expression_statement "ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;" (assignment_expression "ppppppcVar7 = (code ******)(uint)(byte)*pcVar25" (identifier "ppppppcVar7") (= "=") (binary_expression "(code ******)(uint)(byte)*pcVar25" (cast_expression "(code ******)(uint)(byte)" (( "(") (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 "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")")))) (* "*") (identifier "pcVar25"))) (; ";")) (if_statement "if ((char)*pcVar25 < '\0') {\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }\n          else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }" (if "if") (parenthesized_expression "((char)*pcVar25 < '\0')" (( "(") (binary_expression "(char)*pcVar25 < '\0'" (cast_expression "(char)*pcVar25" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25"))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            pppppppcVar13 = param_2 + 0x13;\n            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);\n            ppppppcVar7 = param_2[0x13];\n          }" ({ "{") (expression_statement "pppppppcVar13 = param_2 + 0x13;" (assignment_expression "pppppppcVar13 = param_2 + 0x13" (identifier "pppppppcVar13") (= "=") (binary_expression "param_2 + 0x13" (identifier "param_2") (+ "+") (number_literal "0x13"))) (; ";")) (expression_statement "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);" (assignment_expression "iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25)" (identifier "iVar2") (= "=") (call_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b65c + 0x1084))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b65c + 0x1084)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b65c + 0x1084)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b65c + 0x1084)" (( "(") (binary_expression "PTR_LAB_0015b65c + 0x1084" (identifier "PTR_LAB_0015b65c") (+ "+") (number_literal "0x1084")) () ")")))) () ")")) (argument_list "(pcVar25)" (( "(") (identifier "pcVar25") () ")")))) (; ";")) (expression_statement "ppppppcVar7 = param_2[0x13];" (assignment_expression "ppppppcVar7 = param_2[0x13]" (identifier "ppppppcVar7") (= "=") (subscript_expression "param_2[0x13]" (identifier "param_2") ([ "[") (number_literal "0x13") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }" (else "else") (compound_statement "{\n            iVar2 = 1;\n            param_2[0x13] = ppppppcVar7;\n          }" ({ "{") (expression_statement "iVar2 = 1;" (assignment_expression "iVar2 = 1" (identifier "iVar2") (= "=") (number_literal "1")) (; ";")) (expression_statement "param_2[0x13] = ppppppcVar7;" (assignment_expression "param_2[0x13] = ppppppcVar7" (subscript_expression "param_2[0x13]" (identifier "param_2") ([ "[") (number_literal "0x13") (] "]")) (= "=") (identifier "ppppppcVar7")) (; ";")) (} "}")))) (expression_statement "pppppppcVar24 = (code *******)(pcVar25 + iVar2);" (assignment_expression "pppppppcVar24 = (code *******)(pcVar25 + iVar2)" (identifier "pppppppcVar24") (= "=") (cast_expression "(code *******)(pcVar25 + iVar2)" (( "(") (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 "(pcVar25 + iVar2)" (( "(") (binary_expression "pcVar25 + iVar2" (identifier "pcVar25") (+ "+") (identifier "iVar2")) () ")")))) (; ";")) (expression_statement "param_2[0x12] = (code ******)pppppppcVar24;" (assignment_expression "param_2[0x12] = (code ******)pppppppcVar24" (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]")) (= "=") (cast_expression "(code ******)pppppppcVar24" (( "(") (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 "pppppppcVar24"))) (; ";")) (expression_statement "param_2[0x14] = (code ******)0x0;" (assignment_expression "param_2[0x14] = (code ******)0x0" (subscript_expression "param_2[0x14]" (identifier "param_2") ([ "[") (number_literal "0x14") (] "]")) (= "=") (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 ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }" (if "if") (parenthesized_expression "((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10]))" (( "(") (binary_expression "(int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])" (cast_expression "(int)ppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar7")) (<= "<=") (binary_expression "(int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])" (cast_expression "(int)param_2[0xb]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_2[0xb]" (identifier "param_2") ([ "[") (number_literal "0xb") (] "]"))) (- "-") (parenthesized_expression "((int)pppppppcVar24 - (int)param_2[10])" (( "(") (binary_expression "(int)pppppppcVar24 - (int)param_2[10]" (cast_expression "(int)pppppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar24")) (- "-") (cast_expression "(int)param_2[10]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_2[10]" (identifier "param_2") ([ "[") (number_literal "10") (] "]")))) () ")")))) () ")")) (compound_statement "{\n            iVar2 = 0;\n            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);\n            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;\n          }" ({ "{") (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;" (if "if") (parenthesized_expression "(param_2[0xc] != (code ******)0x0)" (( "(") (binary_expression "param_2[0xc] != (code ******)0x0" (subscript_expression "param_2[0xc]" (identifier "param_2") ([ "[") (number_literal "0xc") (] "]")) (!= "!=") (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_0011db18;" (goto "goto") (statement_identifier "LAB_0011db18") (; ";"))) (expression_statement "pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);" (assignment_expression "pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7)" (identifier "pppppppcVar24") (= "=") (cast_expression "(code *******)((int)pppppppcVar24 + (int)ppppppcVar7)" (( "(") (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 "((int)pppppppcVar24 + (int)ppppppcVar7)" (( "(") (binary_expression "(int)pppppppcVar24 + (int)ppppppcVar7" (cast_expression "(int)pppppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar24")) (+ "+") (cast_expression "(int)ppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar7"))) () ")")))) (; ";")) (if_statement "if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;" (if "if") (parenthesized_expression "(*(code *)((int)pppppppcVar24 + -1) == (code)0x0)" (( "(") (binary_expression "*(code *)((int)pppppppcVar24 + -1) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar24 + -1)" (* "*") (cast_expression "(code *)((int)pppppppcVar24 + -1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar24 + -1)" (( "(") (binary_expression "(int)pppppppcVar24 + -1" (cast_expression "(int)pppppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar24")) (+ "+") (number_literal "-1")) () ")")))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0011da80;" (goto "goto") (statement_identifier "LAB_0011da80") (; ";"))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" (identifier "iVar2") (= "=") (number_literal "0x10b")) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0011db18:\n  if (local_1c == (code *******)*pppppppcVar26) {\n    return iVar2;\n  }" (statement_identifier "LAB_0011db18") (: ":") (if_statement "if (local_1c == (code *******)*pppppppcVar26) {\n    return iVar2;\n  }" (if "if") (parenthesized_expression "(local_1c == (code *******)*pppppppcVar26)" (( "(") (binary_expression "local_1c == (code *******)*pppppppcVar26" (identifier "local_1c") (== "==") (cast_expression "(code *******)*pppppppcVar26" (( "(") (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 "*" (* "*"))))))))) () ")") (pointer_expression "*pppppppcVar26" (* "*") (identifier "pppppppcVar26")))) () ")")) (compound_statement "{\n    return iVar2;\n  }" ({ "{") (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}")))) (expression_statement "pppppppcVar6 = local_1c;" (assignment_expression "pppppppcVar6 = local_1c" (identifier "pppppppcVar6") (= "=") (identifier "local_1c")) (; ";")) (expression_statement "puVar32 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar32 = PTR___stack_chk_fail_0015ba10" (identifier "puVar32") (= "=") (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_108 = puVar32 + 0x45928;" (assignment_expression "puStack_108 = puVar32 + 0x45928" (identifier "puStack_108") (= "=") (binary_expression "puVar32 + 0x45928" (identifier "puVar32") (+ "+") (number_literal "0x45928"))) (; ";")) (expression_statement "pppppppcStack_68 = unaff_s4;" (assignment_expression "pppppppcStack_68 = unaff_s4" (identifier "pppppppcStack_68") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "pppppppcStack_6c = param_1;" (assignment_expression "pppppppcStack_6c = param_1" (identifier "pppppppcStack_6c") (= "=") (identifier "param_1")) (; ";")) (expression_statement "puStack_70 = (undefined *)pppppppcVar26;" (assignment_expression "puStack_70 = (undefined *)pppppppcVar26" (identifier "puStack_70") (= "=") (cast_expression "(undefined *)pppppppcVar26" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar26"))) (; ";")) (expression_statement "pppppppcStack_74 = pppppppcVar24;" (assignment_expression "pppppppcStack_74 = pppppppcVar24" (identifier "pppppppcStack_74") (= "=") (identifier "pppppppcVar24")) (; ";")) (expression_statement "pppppppcStack_78 = param_2;" (assignment_expression "pppppppcStack_78 = param_2" (identifier "pppppppcStack_78") (= "=") (identifier "param_2")) (; ";")) (expression_statement "piStack_98 = *(int **)(puVar32 + 0x3dda4);" (assignment_expression "piStack_98 = *(int **)(puVar32 + 0x3dda4)" (identifier "piStack_98") (= "=") (pointer_expression "*(int **)(puVar32 + 0x3dda4)" (* "*") (cast_expression "(int **)(puVar32 + 0x3dda4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar32 + 0x3dda4)" (( "(") (binary_expression "puVar32 + 0x3dda4" (identifier "puVar32") (+ "+") (number_literal "0x3dda4")) () ")"))))) (; ";")) (expression_statement "pppppppcStack_c8 = pppppppcVar6;" (assignment_expression "pppppppcStack_c8 = pppppppcVar6" (identifier "pppppppcStack_c8") (= "=") (identifier "pppppppcVar6")) (; ";")) (expression_statement "pppppppcStack_e0 = pppppppcVar13;" (assignment_expression "pppppppcStack_e0 = pppppppcVar13" (identifier "pppppppcStack_e0") (= "=") (identifier "pppppppcVar13")) (; ";")) (expression_statement "piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4);" (assignment_expression "piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4)" (identifier "piStack_7c") (= "=") (cast_expression "(int *)**(int **)(puVar32 + 0x3dda4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(puVar32 + 0x3dda4)" (* "*") (pointer_expression "*(int **)(puVar32 + 0x3dda4)" (* "*") (cast_expression "(int **)(puVar32 + 0x3dda4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar32 + 0x3dda4)" (( "(") (binary_expression "puVar32 + 0x3dda4" (identifier "puVar32") (+ "+") (number_literal "0x3dda4")) () ")"))))))) (; ";")) (expression_statement "pppppppcStack_a0 = (code *******)pppppppcVar13[1];" (assignment_expression "pppppppcStack_a0 = (code *******)pppppppcVar13[1]" (identifier "pppppppcStack_a0") (= "=") (cast_expression "(code *******)pppppppcVar13[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppppcVar13[1]" (identifier "pppppppcVar13") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pppppppcVar29 = param_1;" (assignment_expression "pppppppcVar29 = param_1" (identifier "pppppppcVar29") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0) {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar2 = 0;\n    if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }\n  }\n  else {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }" (if "if") (parenthesized_expression "(*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0)" (( "(") (binary_expression "*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar6 + 0xeb)" (* "*") (cast_expression "(code *)((int)pppppppcVar6 + 0xeb)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar6 + 0xeb)" (( "(") (binary_expression "(int)pppppppcVar6 + 0xeb" (cast_expression "(int)pppppppcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar6")) (+ "+") (number_literal "0xeb")) () ")")))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);\n    iVar2 = 0;\n    if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }\n  }" ({ "{") (expression_statement "pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);" (assignment_expression "pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0)" (identifier "pppppppcStack_c4") (= "=") (cast_expression "(code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0)" (( "(") (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 "(*(int *)(puVar32 + 0x3da38) + -0x26f0)" (( "(") (binary_expression "*(int *)(puVar32 + 0x3da38) + -0x26f0" (pointer_expression "*(int *)(puVar32 + 0x3da38)" (* "*") (cast_expression "(int *)(puVar32 + 0x3da38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 0x3da38)" (( "(") (binary_expression "puVar32 + 0x3da38" (identifier "puVar32") (+ "+") (number_literal "0x3da38")) () ")")))) (+ "+") (number_literal "-0x26f0")) () ")")))) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (if_statement "if (pppppppcStack_a0 != (code *******)0x0) {\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }" (if "if") (parenthesized_expression "(pppppppcStack_a0 != (code *******)0x0)" (( "(") (binary_expression "pppppppcStack_a0 != (code *******)0x0" (identifier "pppppppcStack_a0") (!= "!=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];\n      unaff_s6 = pppppppcVar13[2];\n      pppppcStack_94 = ppppppcStack_a4[3];\n      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);\n      pppppppcStack_f0 = (code *******)*pppppppcVar13;\n      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);\n      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);\n      uStack_cc = (uint)pppppcStack_94 & 1;\n      do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );\n    }" ({ "{") (labeled_statement "LAB_0011dd08:\n      ppppppcStack_a4 = pppppppcVar13[3];" (statement_identifier "LAB_0011dd08") (: ":") (expression_statement "ppppppcStack_a4 = pppppppcVar13[3];" (assignment_expression "ppppppcStack_a4 = pppppppcVar13[3]" (identifier "ppppppcStack_a4") (= "=") (subscript_expression "pppppppcVar13[3]" (identifier "pppppppcVar13") ([ "[") (number_literal "3") (] "]"))) (; ";"))) (expression_statement "unaff_s6 = pppppppcVar13[2];" (assignment_expression "unaff_s6 = pppppppcVar13[2]" (identifier "unaff_s6") (= "=") (subscript_expression "pppppppcVar13[2]" (identifier "pppppppcVar13") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pppppcStack_94 = ppppppcStack_a4[3];" (assignment_expression "pppppcStack_94 = ppppppcStack_a4[3]" (identifier "pppppcStack_94") (= "=") (subscript_expression "ppppppcStack_a4[3]" (identifier "ppppppcStack_a4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);" (assignment_expression "pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758)" (identifier "pcStack_b0") (= "=") (cast_expression "(code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar32 + 0x3da4c) + -0x2758)" (( "(") (binary_expression "*(int *)(puVar32 + 0x3da4c) + -0x2758" (pointer_expression "*(int *)(puVar32 + 0x3da4c)" (* "*") (cast_expression "(int *)(puVar32 + 0x3da4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 0x3da4c)" (( "(") (binary_expression "puVar32 + 0x3da4c" (identifier "puVar32") (+ "+") (number_literal "0x3da4c")) () ")")))) (+ "+") (number_literal "-0x2758")) () ")")))) (; ";")) (expression_statement "pppppppcStack_f0 = (code *******)*pppppppcVar13;" (assignment_expression "pppppppcStack_f0 = (code *******)*pppppppcVar13" (identifier "pppppppcStack_f0") (= "=") (cast_expression "(code *******)*pppppppcVar13" (( "(") (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 "*" (* "*"))))))))) () ")") (pointer_expression "*pppppppcVar13" (* "*") (identifier "pppppppcVar13")))) (; ";")) (expression_statement "pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);" (assignment_expression "pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384)" (identifier "pcStack_ac") (= "=") (cast_expression "(code *)(*(int *)(puVar32 + 0x3da70) + 0x5384)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar32 + 0x3da70) + 0x5384)" (( "(") (binary_expression "*(int *)(puVar32 + 0x3da70) + 0x5384" (pointer_expression "*(int *)(puVar32 + 0x3da70)" (* "*") (cast_expression "(int *)(puVar32 + 0x3da70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 0x3da70)" (( "(") (binary_expression "puVar32 + 0x3da70" (identifier "puVar32") (+ "+") (number_literal "0x3da70")) () ")")))) (+ "+") (number_literal "0x5384")) () ")")))) (; ";")) (expression_statement "pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);" (assignment_expression "pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74)" (identifier "pcStack_f8") (= "=") (cast_expression "(code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar32 + 0x3d9d4) + 0xf74)" (( "(") (binary_expression "*(int *)(puVar32 + 0x3d9d4) + 0xf74" (pointer_expression "*(int *)(puVar32 + 0x3d9d4)" (* "*") (cast_expression "(int *)(puVar32 + 0x3d9d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 0x3d9d4)" (( "(") (binary_expression "puVar32 + 0x3d9d4" (identifier "puVar32") (+ "+") (number_literal "0x3d9d4")) () ")")))) (+ "+") (number_literal "0xf74")) () ")")))) (; ";")) (expression_statement "uStack_cc = (uint)pppppcStack_94 & 1;" (assignment_expression "uStack_cc = (uint)pppppcStack_94 & 1" (identifier "uStack_cc") (= "=") (binary_expression "(uint)pppppcStack_94 & 1" (cast_expression "(uint)pppppcStack_94" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppcStack_94")) (& "&") (number_literal "1"))) (; ";")) (do_statement "do {\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      } while( true );" (do "do") (compound_statement "{\n        pppppppcVar6 = pppppppcStack_c8;\n        pppppppcVar13 = pppppppcStack_e0;\n        pppppppcVar24 = (code *******)0x0;\n        param_2 = pppppppcStack_f0;\n        pppppppcVar29 = param_1;\n        if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }\n        param_2 = pppppppcStack_f0;\n        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);\n        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);\n        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);\n        pppppppcStack_e0[2] = (code ******)0x0;\n        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;\n        pppppppcVar26 = (code *******)(*param_2)[0xf];\n        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;\n        param_2 = (code *******)(*param_2)[0x10];\n        pppppppcStack_e0[10] = (code ******)param_2;\n        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }\n        pppppppcVar13 = pppppppcStack_a0;\n        if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }\n        pppppppcVar24 = pppppppcStack_f0;\n        param_4 = pppppppcStack_c4;\n        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);\n        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }\n        pppppppcStack_e0[2] = unaff_s6;\n      }" ({ "{") (expression_statement "pppppppcVar6 = pppppppcStack_c8;" (assignment_expression "pppppppcVar6 = pppppppcStack_c8" (identifier "pppppppcVar6") (= "=") (identifier "pppppppcStack_c8")) (; ";")) (expression_statement "pppppppcVar13 = pppppppcStack_e0;" (assignment_expression "pppppppcVar13 = pppppppcStack_e0" (identifier "pppppppcVar13") (= "=") (identifier "pppppppcStack_e0")) (; ";")) (expression_statement "pppppppcVar24 = (code *******)0x0;" (assignment_expression "pppppppcVar24 = (code *******)0x0" (identifier "pppppppcVar24") (= "=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_2 = pppppppcStack_f0;" (assignment_expression "param_2 = pppppppcStack_f0" (identifier "param_2") (= "=") (identifier "pppppppcStack_f0")) (; ";")) (expression_statement "pppppppcVar29 = param_1;" (assignment_expression "pppppppcVar29 = param_1" (identifier "pppppppcVar29") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (0 < (int)unaff_s6) {\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }" (if "if") (parenthesized_expression "(0 < (int)unaff_s6)" (( "(") (binary_expression "0 < (int)unaff_s6" (number_literal "0") (< "<") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")")) (compound_statement "{\n          do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);\n        }" ({ "{") (do_statement "do {\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          } while ((int)pppppppcVar24 < (int)unaff_s6);" (do "do") (compound_statement "{\n            pppppppcVar26 = pppppppcVar13;\n            pppppppcVar29 = pppppppcVar6;\n            if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }\n            unaff_s6 = pppppppcVar13[2];\n            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);\n            param_2 = param_2 + 1;\n          }" ({ "{") (expression_statement "pppppppcVar26 = pppppppcVar13;" (assignment_expression "pppppppcVar26 = pppppppcVar13" (identifier "pppppppcVar26") (= "=") (identifier "pppppppcVar13")) (; ";")) (expression_statement "pppppppcVar29 = pppppppcVar6;" (assignment_expression "pppppppcVar29 = pppppppcVar6" (identifier "pppppppcVar29") (= "=") (identifier "pppppppcVar6")) (; ";")) (if_statement "if (*(char *)(*param_2 + 1) == '\0') {\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }\n            else {\n              (*pcStack_ac)();\n            }" (if "if") (parenthesized_expression "(*(char *)(*param_2 + 1) == '\0')" (( "(") (binary_expression "*(char *)(*param_2 + 1) == '\0'" (pointer_expression "*(char *)(*param_2 + 1)" (* "*") (cast_expression "(char *)(*param_2 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_2 + 1)" (( "(") (binary_expression "*param_2 + 1" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);\n              if (iVar2 != 0) goto LAB_0011ddb4;\n            }" ({ "{") (expression_statement "iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);" (assignment_expression "iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2)" (identifier "iVar2") (= "=") (call_expression "(*pcStack_b0)(pppppppcVar6,*param_2)" (parenthesized_expression "(*pcStack_b0)" (( "(") (pointer_expression "*pcStack_b0" (* "*") (identifier "pcStack_b0")) () ")")) (argument_list "(pppppppcVar6,*param_2)" (( "(") (identifier "pppppppcVar6") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) goto LAB_0011ddb4;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0011ddb4;" (goto "goto") (statement_identifier "LAB_0011ddb4") (; ";"))) (} "}")) (else_clause "else {\n              (*pcStack_ac)();\n            }" (else "else") (compound_statement "{\n              (*pcStack_ac)();\n            }" ({ "{") (expression_statement "(*pcStack_ac)();" (call_expression "(*pcStack_ac)()" (parenthesized_expression "(*pcStack_ac)" (( "(") (pointer_expression "*pcStack_ac" (* "*") (identifier "pcStack_ac")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "unaff_s6 = pppppppcVar13[2];" (assignment_expression "unaff_s6 = pppppppcVar13[2]" (identifier "unaff_s6") (= "=") (subscript_expression "pppppppcVar13[2]" (identifier "pppppppcVar13") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);" (assignment_expression "pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1)" (identifier "pppppppcVar24") (= "=") (cast_expression "(code *******)((int)pppppppcVar24 + 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar24 + 1)" (( "(") (binary_expression "(int)pppppppcVar24 + 1" (cast_expression "(int)pppppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar24")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_2 = param_2 + 1;" (assignment_expression "param_2 = param_2 + 1" (identifier "param_2") (= "=") (binary_expression "param_2 + 1" (identifier "param_2") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pppppppcVar24 < (int)unaff_s6)" (( "(") (binary_expression "(int)pppppppcVar24 < (int)unaff_s6" (cast_expression "(int)pppppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar24")) (< "<") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")")) (; ";")) (} "}"))) (expression_statement "param_2 = pppppppcStack_f0;" (assignment_expression "param_2 = pppppppcStack_f0" (identifier "param_2") (= "=") (identifier "pppppppcStack_f0")) (; ";")) (expression_statement "pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);" (assignment_expression "pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944)" (identifier "pcStack_c0") (= "=") (cast_expression "(code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_108 + -0x7f54) + 0x2944)" (( "(") (binary_expression "*(int *)(puStack_108 + -0x7f54) + 0x2944" (pointer_expression "*(int *)(puStack_108 + -0x7f54)" (* "*") (cast_expression "(int *)(puStack_108 + -0x7f54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_108 + -0x7f54)" (( "(") (binary_expression "puStack_108 + -0x7f54" (identifier "puStack_108") (+ "+") (number_literal "-0x7f54")) () ")")))) (+ "+") (number_literal "0x2944")) () ")")))) (; ";")) (expression_statement "param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);" (assignment_expression "param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638)" (identifier "param_4") (= "=") (cast_expression "(code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638)" (( "(") (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 "(*(int *)(puStack_108 + -0x7ed8) + -0x7638)" (( "(") (binary_expression "*(int *)(puStack_108 + -0x7ed8) + -0x7638" (pointer_expression "*(int *)(puStack_108 + -0x7ed8)" (* "*") (cast_expression "(int *)(puStack_108 + -0x7ed8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_108 + -0x7ed8)" (( "(") (binary_expression "puStack_108 + -0x7ed8" (identifier "puStack_108") (+ "+") (number_literal "-0x7ed8")) () ")")))) (+ "+") (number_literal "-0x7638")) () ")")))) (; ";")) (expression_statement "(*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);" (call_expression "(*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4)" (parenthesized_expression "(*pcStack_c0)" (( "(") (pointer_expression "*pcStack_c0" (* "*") (identifier "pcStack_c0")) () ")")) (argument_list "(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4)" (( "(") (identifier "pppppppcStack_f0") (, ",") (identifier "pppppppcStack_a0") (, ",") (identifier "unaff_s6") (, ",") (identifier "param_4") () ")"))) (; ";")) (expression_statement "pppppppcStack_e0[2] = (code ******)0x0;" (assignment_expression "pppppppcStack_e0[2] = (code ******)0x0" (subscript_expression "pppppppcStack_e0[2]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "2") (] "]")) (= "=") (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 ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;" (if "if") (parenthesized_expression "((*param_2)[10] == (code *****)0x0)" (( "(") (binary_expression "(*param_2)[10] == (code *****)0x0" (subscript_expression "(*param_2)[10]" (parenthesized_expression "(*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")) ([ "[") (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"))) () ")")) (goto_statement "goto LAB_0011de08;" (goto "goto") (statement_identifier "LAB_0011de08") (; ";"))) (expression_statement "pppppppcVar26 = (code *******)(*param_2)[0xf];" (assignment_expression "pppppppcVar26 = (code *******)(*param_2)[0xf]" (identifier "pppppppcVar26") (= "=") (cast_expression "(code *******)(*param_2)[0xf]" (( "(") (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 "*" (* "*"))))))))) () ")") (subscript_expression "(*param_2)[0xf]" (parenthesized_expression "(*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")) ([ "[") (number_literal "0xf") (] "]")))) (; ";")) (expression_statement "pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;" (assignment_expression "pppppppcStack_e0[0xb] = (code ******)pppppppcVar26" (subscript_expression "pppppppcStack_e0[0xb]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(code ******)pppppppcVar26" (( "(") (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 "pppppppcVar26"))) (; ";")) (expression_statement "param_2 = (code *******)(*param_2)[0x10];" (assignment_expression "param_2 = (code *******)(*param_2)[0x10]" (identifier "param_2") (= "=") (cast_expression "(code *******)(*param_2)[0x10]" (( "(") (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 "*" (* "*"))))))))) () ")") (subscript_expression "(*param_2)[0x10]" (parenthesized_expression "(*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")) ([ "[") (number_literal "0x10") (] "]")))) (; ";")) (expression_statement "pppppppcStack_e0[10] = (code ******)param_2;" (assignment_expression "pppppppcStack_e0[10] = (code ******)param_2" (subscript_expression "pppppppcStack_e0[10]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "10") (] "]")) (= "=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "param_2"))) (; ";")) (if_statement "if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }" (if "if") (parenthesized_expression "((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0))" (( "(") (binary_expression "(*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)" (parenthesized_expression "(*ppppppcStack_a4 != (code *****)0x0)" (( "(") (binary_expression "*ppppppcStack_a4 != (code *****)0x0" (pointer_expression "*ppppppcStack_a4" (* "*") (identifier "ppppppcStack_a4")) (!= "!=") (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 "(((uint)pppppcStack_94 & 0x10) == 0)" (( "(") (binary_expression "((uint)pppppcStack_94 & 0x10) == 0" (parenthesized_expression "((uint)pppppcStack_94 & 0x10)" (( "(") (binary_expression "(uint)pppppcStack_94 & 0x10" (cast_expression "(uint)pppppcStack_94" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppcStack_94")) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          iVar2 = 0;\n          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;\n          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);\n          if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }\n        }" ({ "{") (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (if_statement "if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;" (if "if") (parenthesized_expression "(((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26))))" (( "(") (binary_expression "((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||\n             ((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))" (parenthesized_expression "((int)pppppppcVar26 < (int)ppppppcStack_a4[1])" (( "(") (binary_expression "(int)pppppppcVar26 < (int)ppppppcStack_a4[1]" (cast_expression "(int)pppppppcVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar26")) (< "<") (cast_expression "(int)ppppppcStack_a4[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcStack_a4[1]" (identifier "ppppppcStack_a4") ([ "[") (number_literal "1") (] "]")))) () ")")) (|| "||") (parenthesized_expression "((((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))" (( "(") (parenthesized_expression "(((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26))" (( "(") (binary_expression "((uint)pppppcStack_94 & 8) == 0 &&\n              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)" (binary_expression "((uint)pppppcStack_94 & 8) == 0" (parenthesized_expression "((uint)pppppcStack_94 & 8)" (( "(") (binary_expression "(uint)pppppcStack_94 & 8" (cast_expression "(uint)pppppcStack_94" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppcStack_94")) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)" (( "(") (comma_expression "iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (, ",") (binary_expression "(int)ppppppcStack_a4[1] < (int)pppppppcVar26" (cast_expression "(int)ppppppcStack_a4[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcStack_a4[1]" (identifier "ppppppcStack_a4") ([ "[") (number_literal "1") (] "]"))) (< "<") (cast_expression "(int)pppppppcVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar26")))) () ")"))) () ")")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);" (assignment_expression "iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puStack_108 + -0x7b94))(param_2)" (parenthesized_expression "(**(code **)(puStack_108 + -0x7b94))" (( "(") (pointer_expression "**(code **)(puStack_108 + -0x7b94)" (* "*") (pointer_expression "*(code **)(puStack_108 + -0x7b94)" (* "*") (cast_expression "(code **)(puStack_108 + -0x7b94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_108 + -0x7b94)" (( "(") (binary_expression "puStack_108 + -0x7b94" (identifier "puStack_108") (+ "+") (number_literal "-0x7b94")) () ")"))))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n            iVar2 = 0;\n            break;\n          }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar2 = 0;\n            break;\n          }" ({ "{") (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}"))) (expression_statement "pppppppcVar13 = pppppppcStack_a0;" (assignment_expression "pppppppcVar13 = pppppppcStack_a0" (identifier "pppppppcVar13") (= "=") (identifier "pppppppcStack_a0")) (; ";")) (if_statement "if ((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }\n        else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }" (if "if") (parenthesized_expression "((((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf]))" (( "(") (binary_expression "(((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||\n           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])" (parenthesized_expression "(((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0))" (( "(") (binary_expression "((int)pppppppcStack_a0 < 2) ||\n            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)" (parenthesized_expression "((int)pppppppcStack_a0 < 2)" (( "(") (binary_expression "(int)pppppppcStack_a0 < 2" (cast_expression "(int)pppppppcStack_a0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_a0")) (< "<") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)" (( "(") (comma_expression "ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0" (assignment_expression "ppppppcVar7 = pppppppcStack_f0[1]" (identifier "ppppppcVar7") (= "=") (subscript_expression "pppppppcStack_f0[1]" (identifier "pppppppcStack_f0") ([ "[") (number_literal "1") (] "]"))) (, ",") (binary_expression "ppppppcVar7[10] == (code *****)0x0" (subscript_expression "ppppppcVar7[10]" (identifier "ppppppcVar7") ([ "[") (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")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(pppppppcVar26 != (code *******)ppppppcVar7[0xf])" (( "(") (binary_expression "pppppppcVar26 != (code *******)ppppppcVar7[0xf]" (identifier "pppppppcVar26") (!= "!=") (cast_expression "(code *******)ppppppcVar7[0xf]" (( "(") (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 "*" (* "*"))))))))) () ")") (subscript_expression "ppppppcVar7[0xf]" (identifier "ppppppcVar7") ([ "[") (number_literal "0xf") (] "]")))) () ")"))) () ")")) (compound_statement "{\nLAB_0011df14:\n          param_1 = pppppppcVar29;\n          pppppppcVar13 = pppppppcStack_e0;\n          if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }\n          unaff_s6 = (code ******)0x1;\n          (*(code *)(iVar2 + 0x605c))();\n        }" ({ "{") (labeled_statement "LAB_0011df14:\n          param_1 = pppppppcVar29;" (statement_identifier "LAB_0011df14") (: ":") (expression_statement "param_1 = pppppppcVar29;" (assignment_expression "param_1 = pppppppcVar29" (identifier "param_1") (= "=") (identifier "pppppppcVar29")) (; ";"))) (expression_statement "pppppppcVar13 = pppppppcStack_e0;" (assignment_expression "pppppppcVar13 = pppppppcStack_e0" (identifier "pppppppcVar13") (= "=") (identifier "pppppppcStack_e0")) (; ";")) (if_statement "if (((uint)pppppcStack_94 & 0x22) == 0) {\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }\n          else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }" (if "if") (parenthesized_expression "(((uint)pppppcStack_94 & 0x22) == 0)" (( "(") (binary_expression "((uint)pppppcStack_94 & 0x22) == 0" (parenthesized_expression "((uint)pppppcStack_94 & 0x22)" (( "(") (binary_expression "(uint)pppppcStack_94 & 0x22" (cast_expression "(uint)pppppcStack_94" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppcStack_94")) (& "&") (number_literal "0x22")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }\n          }" ({ "{") (if_statement "if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )) {\n              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }" (if "if") (parenthesized_expression "((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               ))" (( "(") (binary_expression "(*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||\n               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )" (parenthesized_expression "(*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0)" (( "(") (binary_expression "*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_c8 + 0xeb)" (* "*") (cast_expression "(code *)((int)pppppppcStack_c8 + 0xeb)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcStack_c8 + 0xeb)" (( "(") (binary_expression "(int)pppppppcStack_c8 + 0xeb" (cast_expression "(int)pppppppcStack_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_c8")) (+ "+") (number_literal "0xeb")) () ")")))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0\n               )" (( "(") (comma_expression "iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0" (assignment_expression "iVar2 = *(int *)(puStack_108 + -0x7eb8)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puStack_108 + -0x7eb8)" (* "*") (cast_expression "(int *)(puStack_108 + -0x7eb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_108 + -0x7eb8)" (( "(") (binary_expression "puStack_108 + -0x7eb8" (identifier "puStack_108") (+ "+") (number_literal "-0x7eb8")) () ")"))))) (, ",") (binary_expression "(*pppppppcStack_f0)[0xe] == (code *****)0x0" (subscript_expression "(*pppppppcStack_f0)[0xe]" (parenthesized_expression "(*pppppppcStack_f0)" (( "(") (pointer_expression "*pppppppcStack_f0" (* "*") (identifier "pppppppcStack_f0")) () ")")) ([ "[") (number_literal "0xe") (] "]")) (== "==") (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              param_2 = (code *******)(*pppppppcStack_f0)[0x13];\n              pppppppcStack_e0[0xd] = (code ******)param_2;\n              ppppppcVar7 = *pppppppcStack_f0;\n              pppppppcVar26 = pppppppcVar13;\n              pppppppcVar29 = param_1;\n              if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }\n              iVar2 = 100;\n              pppppppcStack_e0[2] = (code ******)0x1;\n              break;\n            }" ({ "{") (expression_statement "param_2 = (code *******)(*pppppppcStack_f0)[0x13];" (assignment_expression "param_2 = (code *******)(*pppppppcStack_f0)[0x13]" (identifier "param_2") (= "=") (cast_expression "(code *******)(*pppppppcStack_f0)[0x13]" (( "(") (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 "*" (* "*"))))))))) () ")") (subscript_expression "(*pppppppcStack_f0)[0x13]" (parenthesized_expression "(*pppppppcStack_f0)" (( "(") (pointer_expression "*pppppppcStack_f0" (* "*") (identifier "pppppppcStack_f0")) () ")")) ([ "[") (number_literal "0x13") (] "]")))) (; ";")) (expression_statement "pppppppcStack_e0[0xd] = (code ******)param_2;" (assignment_expression "pppppppcStack_e0[0xd] = (code ******)param_2" (subscript_expression "pppppppcStack_e0[0xd]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "0xd") (] "]")) (= "=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "param_2"))) (; ";")) (expression_statement "ppppppcVar7 = *pppppppcStack_f0;" (assignment_expression "ppppppcVar7 = *pppppppcStack_f0" (identifier "ppppppcVar7") (= "=") (pointer_expression "*pppppppcStack_f0" (* "*") (identifier "pppppppcStack_f0"))) (; ";")) (expression_statement "pppppppcVar26 = pppppppcVar13;" (assignment_expression "pppppppcVar26 = pppppppcVar13" (identifier "pppppppcVar26") (= "=") (identifier "pppppppcVar13")) (; ";")) (expression_statement "pppppppcVar29 = param_1;" (assignment_expression "pppppppcVar29 = param_1" (identifier "pppppppcVar29") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (ppppppcVar7[0xe] == (code *****)0x0) {\n                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }\n              else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }" (if "if") (parenthesized_expression "(ppppppcVar7[0xe] == (code *****)0x0)" (( "(") (binary_expression "ppppppcVar7[0xe] == (code *****)0x0" (subscript_expression "ppppppcVar7[0xe]" (identifier "ppppppcVar7") ([ "[") (number_literal "0xe") (] "]")) (== "==") (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                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];\n              }" ({ "{") (expression_statement "pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];" (assignment_expression "pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12]" (subscript_expression "pppppppcStack_e0[0xc]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "0xc") (] "]")) (= "=") (cast_expression "(code ******)ppppppcVar7[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 "*" (* "*")))))))) () ")") (subscript_expression "ppppppcVar7[0x12]" (identifier "ppppppcVar7") ([ "[") (number_literal "0x12") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }" (else "else") (compound_statement "{\n                pppppppcVar24 = (code *******)ppppppcVar7[0x12];\n                ppppppcVar7 = pppppppcStack_e0[4];\n                if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }\n                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);\n                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n              }" ({ "{") (expression_statement "pppppppcVar24 = (code *******)ppppppcVar7[0x12];" (assignment_expression "pppppppcVar24 = (code *******)ppppppcVar7[0x12]" (identifier "pppppppcVar24") (= "=") (cast_expression "(code *******)ppppppcVar7[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "ppppppcVar7[0x12]" (identifier "ppppppcVar7") ([ "[") (number_literal "0x12") (] "]")))) (; ";")) (expression_statement "ppppppcVar7 = pppppppcStack_e0[4];" (assignment_expression "ppppppcVar7 = pppppppcStack_e0[4]" (identifier "ppppppcVar7") (= "=") (subscript_expression "pppppppcStack_e0[4]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "4") (] "]"))) (; ";")) (if_statement "if ((int)pppppppcStack_e0[5] < (int)param_2) {\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }" (if "if") (parenthesized_expression "((int)pppppppcStack_e0[5] < (int)param_2)" (( "(") (binary_expression "(int)pppppppcStack_e0[5] < (int)param_2" (cast_expression "(int)pppppppcStack_e0[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppcStack_e0[5]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "5") (] "]"))) (< "<") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) () ")")) (compound_statement "{\n                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);\n                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                  if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }\n                  pppppppcVar13[4] = ppppppcVar7;\n                }" ({ "{") (expression_statement "pcVar25 = *(code **)(puStack_108 + -0x7fc0);" (assignment_expression "pcVar25 = *(code **)(puStack_108 + -0x7fc0)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(puStack_108 + -0x7fc0)" (* "*") (cast_expression "(code **)(puStack_108 + -0x7fc0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_108 + -0x7fc0)" (( "(") (binary_expression "puStack_108 + -0x7fc0" (identifier "puStack_108") (+ "+") (number_literal "-0x7fc0")) () ")"))))) (; ";")) (expression_statement "pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);" (assignment_expression "pppppppcStack_e0[5] = (code ******)((int)param_2 << 1)" (subscript_expression "pppppppcStack_e0[5]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(code ******)((int)param_2 << 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)param_2 << 1)" (( "(") (binary_expression "(int)param_2 << 1" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (<< "<<") (number_literal "1")) () ")")))) (; ";")) (expression_statement "ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);" (assignment_expression "ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7)" (identifier "ppppppcVar7") (= "=") (cast_expression "(code ******)(*pcVar25)(ppppppcVar7)" (( "(") (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 "(*pcVar25)(ppppppcVar7)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(ppppppcVar7)" (( "(") (identifier "ppppppcVar7") () ")"))))) (; ";")) (if_statement "if (ppppppcVar7 == (code ******)0x0) {\n                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }" (if "if") (parenthesized_expression "(ppppppcVar7 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar7 == (code ******)0x0" (identifier "ppppppcVar7") (== "==") (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                    iVar2 = 7;\n                    pppppppcStack_e0[2] = (code ******)0x1;\n                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];\n                    break;\n                  }" ({ "{") (expression_statement "iVar2 = 7;" (assignment_expression "iVar2 = 7" (identifier "iVar2") (= "=") (number_literal "7")) (; ";")) (expression_statement "pppppppcStack_e0[2] = (code ******)0x1;" (assignment_expression "pppppppcStack_e0[2] = (code ******)0x1" (subscript_expression "pppppppcStack_e0[2]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "2") (] "]")) (= "=") (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 "pppppppcStack_e0[0xc] = pppppppcStack_e0[4];" (assignment_expression "pppppppcStack_e0[0xc] = pppppppcStack_e0[4]" (subscript_expression "pppppppcStack_e0[0xc]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "0xc") (] "]")) (= "=") (subscript_expression "pppppppcStack_e0[4]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "4") (] "]"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "pppppppcVar13[4] = ppppppcVar7;" (assignment_expression "pppppppcVar13[4] = ppppppcVar7" (subscript_expression "pppppppcVar13[4]" (identifier "pppppppcVar13") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "ppppppcVar7")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);" (call_expression "(**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2)" (parenthesized_expression "(**(code **)(puStack_108 + -0x7b80))" (( "(") (pointer_expression "**(code **)(puStack_108 + -0x7b80)" (* "*") (pointer_expression "*(code **)(puStack_108 + -0x7b80)" (* "*") (cast_expression "(code **)(puStack_108 + -0x7b80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_108 + -0x7b80)" (( "(") (binary_expression "puStack_108 + -0x7b80" (identifier "puStack_108") (+ "+") (number_literal "-0x7b80")) () ")"))))) () ")")) (argument_list "(ppppppcVar7,pppppppcVar24,param_2)" (( "(") (identifier "ppppppcVar7") (, ",") (identifier "pppppppcVar24") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "pppppppcStack_e0[0xc] = pppppppcStack_e0[4];" (assignment_expression "pppppppcStack_e0[0xc] = pppppppcStack_e0[4]" (subscript_expression "pppppppcStack_e0[0xc]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "0xc") (] "]")) (= "=") (subscript_expression "pppppppcStack_e0[4]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "4") (] "]"))) (; ";")) (} "}")))) (expression_statement "iVar2 = 100;" (assignment_expression "iVar2 = 100" (identifier "iVar2") (= "=") (number_literal "100")) (; ";")) (expression_statement "pppppppcStack_e0[2] = (code ******)0x1;" (assignment_expression "pppppppcStack_e0[2] = (code ******)0x1" (subscript_expression "pppppppcStack_e0[2]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "2") (] "]")) (= "=") (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"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }" (else "else") (compound_statement "{\n            iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          }" ({ "{") (expression_statement "iVar2 = *(int *)(puStack_108 + -0x7eb8);" (assignment_expression "iVar2 = *(int *)(puStack_108 + -0x7eb8)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puStack_108 + -0x7eb8)" (* "*") (cast_expression "(int *)(puStack_108 + -0x7eb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_108 + -0x7eb8)" (( "(") (binary_expression "puStack_108 + -0x7eb8" (identifier "puStack_108") (+ "+") (number_literal "-0x7eb8")) () ")"))))) (; ";")) (} "}")))) (expression_statement "unaff_s6 = (code ******)0x1;" (assignment_expression "unaff_s6 = (code ******)0x1" (identifier "unaff_s6") (= "=") (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 "(*(code *)(iVar2 + 0x605c))();" (call_expression "(*(code *)(iVar2 + 0x605c))()" (parenthesized_expression "(*(code *)(iVar2 + 0x605c))" (( "(") (pointer_expression "*(code *)(iVar2 + 0x605c)" (* "*") (cast_expression "(code *)(iVar2 + 0x605c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x605c)" (( "(") (binary_expression "iVar2 + 0x605c" (identifier "iVar2") (+ "+") (number_literal "0x605c")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }" (else "else") (compound_statement "{\n          pppppppcVar24 = pppppppcStack_f0 + 2;\n          unaff_s6 = (code ******)0x1;\n          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }\n          pppppppcVar29 = pppppppcVar13;\n          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;\nLAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);\n          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;\n          pppppppcVar26 = pppppppcStack_f0;\n          do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);\n        }" ({ "{") (expression_statement "pppppppcVar24 = pppppppcStack_f0 + 2;" (assignment_expression "pppppppcVar24 = pppppppcStack_f0 + 2" (identifier "pppppppcVar24") (= "=") (binary_expression "pppppppcStack_f0 + 2" (identifier "pppppppcStack_f0") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "unaff_s6 = (code ******)0x1;" (assignment_expression "unaff_s6 = (code ******)0x1" (identifier "unaff_s6") (= "=") (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"))) (; ";")) (while_statement "while (iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0) {\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }" (while "while") (parenthesized_expression "(iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0)" (( "(") (comma_expression "iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),\n                param_1 = pppppppcStack_c8, iVar2 == 0" (assignment_expression "iVar2 = (**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(puStack_108 + -0x7b94))\n                                   (param_2,ppppppcVar7[0x10],pppppppcVar26)" (parenthesized_expression "(**(code **)(puStack_108 + -0x7b94))" (( "(") (pointer_expression "**(code **)(puStack_108 + -0x7b94)" (* "*") (pointer_expression "*(code **)(puStack_108 + -0x7b94)" (* "*") (cast_expression "(code **)(puStack_108 + -0x7b94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_108 + -0x7b94)" (( "(") (binary_expression "puStack_108 + -0x7b94" (identifier "puStack_108") (+ "+") (number_literal "-0x7b94")) () ")"))))) () ")")) (argument_list "(param_2,ppppppcVar7[0x10],pppppppcVar26)" (( "(") (identifier "param_2") (, ",") (subscript_expression "ppppppcVar7[0x10]" (identifier "ppppppcVar7") ([ "[") (number_literal "0x10") (] "]")) (, ",") (identifier "pppppppcVar26") () ")")))) (, ",") (comma_expression "param_1 = pppppppcStack_c8, iVar2 == 0" (assignment_expression "param_1 = pppppppcStack_c8" (identifier "param_1") (= "=") (identifier "pppppppcStack_c8")) (, ",") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")))) () ")")) (compound_statement "{\n            unaff_s6 = (code ******)((int)unaff_s6 + 1);\n            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;\n          }" ({ "{") (expression_statement "unaff_s6 = (code ******)((int)unaff_s6 + 1);" (assignment_expression "unaff_s6 = (code ******)((int)unaff_s6 + 1)" (identifier "unaff_s6") (= "=") (cast_expression "(code ******)((int)unaff_s6 + 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)unaff_s6 + 1)" (( "(") (binary_expression "(int)unaff_s6 + 1" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))\n            goto LAB_0011e64c;" (if "if") (parenthesized_expression "((((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))" (( "(") (binary_expression "(((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||\n               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf])" (parenthesized_expression "(((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0))" (( "(") (binary_expression "((int)pppppppcVar13 <= (int)unaff_s6) ||\n                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)" (parenthesized_expression "((int)pppppppcVar13 <= (int)unaff_s6)" (( "(") (binary_expression "(int)pppppppcVar13 <= (int)unaff_s6" (cast_expression "(int)pppppppcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar13")) (<= "<=") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")")) (|| "||") (parenthesized_expression "(ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)" (( "(") (comma_expression "ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0" (assignment_expression "ppppppcVar7 = *pppppppcVar24" (identifier "ppppppcVar7") (= "=") (pointer_expression "*pppppppcVar24" (* "*") (identifier "pppppppcVar24"))) (, ",") (binary_expression "ppppppcVar7[10] == (code *****)0x0" (subscript_expression "ppppppcVar7[10]" (identifier "ppppppcVar7") ([ "[") (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")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf])" (( "(") (comma_expression "pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]" (assignment_expression "pppppppcVar24 = pppppppcVar24 + 1" (identifier "pppppppcVar24") (= "=") (binary_expression "pppppppcVar24 + 1" (identifier "pppppppcVar24") (+ "+") (number_literal "1"))) (, ",") (binary_expression "pppppppcVar26 != (code *******)ppppppcVar7[0xf]" (identifier "pppppppcVar26") (!= "!=") (cast_expression "(code *******)ppppppcVar7[0xf]" (( "(") (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 "*" (* "*"))))))))) () ")") (subscript_expression "ppppppcVar7[0xf]" (identifier "ppppppcVar7") ([ "[") (number_literal "0xf") (] "]"))))) () ")"))) () ")")) (goto_statement "goto LAB_0011e64c;" (goto "goto") (statement_identifier "LAB_0011e64c") (; ";"))) (} "}"))) (expression_statement "pppppppcVar29 = pppppppcVar13;" (assignment_expression "pppppppcVar29 = pppppppcVar13" (identifier "pppppppcVar29") (= "=") (identifier "pppppppcVar13")) (; ";")) (if_statement "if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;" (if "if") (parenthesized_expression "(unaff_s6 == (code ******)0x1)" (( "(") (binary_expression "unaff_s6 == (code ******)0x1" (identifier "unaff_s6") (== "==") (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"))) () ")")) (goto_statement "goto LAB_0011df14;" (goto "goto") (statement_identifier "LAB_0011df14") (; ";"))) (labeled_statement "LAB_0011e64c:\n          iVar2 = *(int *)(puStack_108 + -0x7eb8);" (statement_identifier "LAB_0011e64c") (: ":") (expression_statement "iVar2 = *(int *)(puStack_108 + -0x7eb8);" (assignment_expression "iVar2 = *(int *)(puStack_108 + -0x7eb8)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(puStack_108 + -0x7eb8)" (* "*") (cast_expression "(int *)(puStack_108 + -0x7eb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_108 + -0x7eb8)" (( "(") (binary_expression "puStack_108 + -0x7eb8" (identifier "puStack_108") (+ "+") (number_literal "-0x7eb8")) () ")"))))) (; ";"))) (expression_statement "pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;" (assignment_expression "pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6" (identifier "pppppppcVar24") (= "=") (binary_expression "pppppppcStack_f0 + (int)unaff_s6" (identifier "pppppppcStack_f0") (+ "+") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")))) (; ";")) (expression_statement "pppppppcVar26 = pppppppcStack_f0;" (assignment_expression "pppppppcVar26 = pppppppcStack_f0" (identifier "pppppppcVar26") (= "=") (identifier "pppppppcStack_f0")) (; ";")) (do_statement "do {\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          } while (pppppppcVar24 != pppppppcVar26);" (do "do") (compound_statement "{\n            ppppppcVar7 = *pppppppcVar26;\n            pppppppcVar26 = pppppppcVar26 + 1;\n            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);\n          }" ({ "{") (expression_statement "ppppppcVar7 = *pppppppcVar26;" (assignment_expression "ppppppcVar7 = *pppppppcVar26" (identifier "ppppppcVar7") (= "=") (pointer_expression "*pppppppcVar26" (* "*") (identifier "pppppppcVar26"))) (; ";")) (expression_statement "pppppppcVar26 = pppppppcVar26 + 1;" (assignment_expression "pppppppcVar26 = pppppppcVar26 + 1" (identifier "pppppppcVar26") (= "=") (binary_expression "pppppppcVar26 + 1" (identifier "pppppppcVar26") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);" (call_expression "(*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7)" (parenthesized_expression "(*(code *)(iVar2 + 0x605c))" (( "(") (pointer_expression "*(code *)(iVar2 + 0x605c)" (* "*") (cast_expression "(code *)(iVar2 + 0x605c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x605c)" (( "(") (binary_expression "iVar2 + 0x605c" (identifier "iVar2") (+ "+") (number_literal "0x605c")) () ")")))) () ")")) (argument_list "(*(code *)((int)param_1 + 0xeb),ppppppcVar7)" (( "(") (pointer_expression "*(code *)((int)param_1 + 0xeb)" (* "*") (cast_expression "(code *)((int)param_1 + 0xeb)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0xeb)" (( "(") (binary_expression "(int)param_1 + 0xeb" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0xeb")) () ")")))) (, ",") (identifier "ppppppcVar7") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppppcVar24 != pppppppcVar26)" (( "(") (binary_expression "pppppppcVar24 != pppppppcVar26" (identifier "pppppppcVar24") (!= "!=") (identifier "pppppppcVar26")) () ")")) (; ";")) (} "}")))) (expression_statement "pppppppcVar24 = pppppppcStack_f0;" (assignment_expression "pppppppcVar24 = pppppppcStack_f0" (identifier "pppppppcVar24") (= "=") (identifier "pppppppcStack_f0")) (; ";")) (expression_statement "param_4 = pppppppcStack_c4;" (assignment_expression "param_4 = pppppppcStack_c4" (identifier "param_4") (= "=") (identifier "pppppppcStack_c4")) (; ";")) (expression_statement "(*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);" (call_expression "(*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4)" (parenthesized_expression "(*pcStack_c0)" (( "(") (pointer_expression "*pcStack_c0" (* "*") (identifier "pcStack_c0")) () ")")) (argument_list "(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4)" (( "(") (identifier "pppppppcStack_f0") (, ",") (identifier "unaff_s6") (, ",") (identifier "unaff_s6") (, ",") (identifier "pppppppcStack_c4") () ")"))) (; ";")) (if_statement "if ((*pppppppcVar24)[0x14] != (code *****)0x0) {\n          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }" (if "if") (parenthesized_expression "((*pppppppcVar24)[0x14] != (code *****)0x0)" (( "(") (binary_expression "(*pppppppcVar24)[0x14] != (code *****)0x0" (subscript_expression "(*pppppppcVar24)[0x14]" (parenthesized_expression "(*pppppppcVar24)" (( "(") (pointer_expression "*pppppppcVar24" (* "*") (identifier "pppppppcVar24")) () ")")) ([ "[") (number_literal "0x14") (] "]")) (!= "!=") (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          unaff_s8 = &ppppppcStack_8c;\n          unaff_s7 = &ppppppcStack_90;\n          pppppppcStack_dc = (code *******)0x0;\n          pppppppcStack_d8 = (code *******)0x0;\n          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);\n          pppppppcStack_f4 = (code *******)0x0;\n          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);\n          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);\n          uStack_b8 = (uint)pppppcStack_94 & 4;\n          uStack_bc = (uint)pppppcStack_94 & 2;\n          uStack_b4 = (uint)pppppcStack_94 & 0x20;\n          pppppppcStack_d4 = unaff_s7;\n          pppppppcStack_d0 = unaff_s8;\n          do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);\n          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;\n        }" ({ "{") (expression_statement "unaff_s8 = &ppppppcStack_8c;" (assignment_expression "unaff_s8 = &ppppppcStack_8c" (identifier "unaff_s8") (= "=") (pointer_expression "&ppppppcStack_8c" (& "&") (identifier "ppppppcStack_8c"))) (; ";")) (expression_statement "unaff_s7 = &ppppppcStack_90;" (assignment_expression "unaff_s7 = &ppppppcStack_90" (identifier "unaff_s7") (= "=") (pointer_expression "&ppppppcStack_90" (& "&") (identifier "ppppppcStack_90"))) (; ";")) (expression_statement "pppppppcStack_dc = (code *******)0x0;" (assignment_expression "pppppppcStack_dc = (code *******)0x0" (identifier "pppppppcStack_dc") (= "=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppcStack_d8 = (code *******)0x0;" (assignment_expression "pppppppcStack_d8 = (code *******)0x0" (identifier "pppppppcStack_d8") (= "=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);" (assignment_expression "pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb)" (identifier "pppppppcVar26") (= "=") (cast_expression "(code *******)((int)pppppppcStack_c8 + 0xeb)" (( "(") (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 "((int)pppppppcStack_c8 + 0xeb)" (( "(") (binary_expression "(int)pppppppcStack_c8 + 0xeb" (cast_expression "(int)pppppppcStack_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_c8")) (+ "+") (number_literal "0xeb")) () ")")))) (; ";")) (expression_statement "pppppppcStack_f4 = (code *******)0x0;" (assignment_expression "pppppppcStack_f4 = (code *******)0x0" (identifier "pppppppcStack_f4") (= "=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);" (assignment_expression "pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168)" (identifier "pcStack_fc") (= "=") (cast_expression "(code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_108 + -0x7eb8) + 0x6168)" (( "(") (binary_expression "*(int *)(puStack_108 + -0x7eb8) + 0x6168" (pointer_expression "*(int *)(puStack_108 + -0x7eb8)" (* "*") (cast_expression "(int *)(puStack_108 + -0x7eb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_108 + -0x7eb8)" (( "(") (binary_expression "puStack_108 + -0x7eb8" (identifier "puStack_108") (+ "+") (number_literal "-0x7eb8")) () ")")))) (+ "+") (number_literal "0x6168")) () ")")))) (; ";")) (expression_statement "pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);" (assignment_expression "pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220)" (identifier "pcStack_9c") (= "=") (cast_expression "(code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_108 + -0x7f54) + 0x5220)" (( "(") (binary_expression "*(int *)(puStack_108 + -0x7f54) + 0x5220" (pointer_expression "*(int *)(puStack_108 + -0x7f54)" (* "*") (cast_expression "(int *)(puStack_108 + -0x7f54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_108 + -0x7f54)" (( "(") (binary_expression "puStack_108 + -0x7f54" (identifier "puStack_108") (+ "+") (number_literal "-0x7f54")) () ")")))) (+ "+") (number_literal "0x5220")) () ")")))) (; ";")) (expression_statement "uStack_b8 = (uint)pppppcStack_94 & 4;" (assignment_expression "uStack_b8 = (uint)pppppcStack_94 & 4" (identifier "uStack_b8") (= "=") (binary_expression "(uint)pppppcStack_94 & 4" (cast_expression "(uint)pppppcStack_94" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppcStack_94")) (& "&") (number_literal "4"))) (; ";")) (expression_statement "uStack_bc = (uint)pppppcStack_94 & 2;" (assignment_expression "uStack_bc = (uint)pppppcStack_94 & 2" (identifier "uStack_bc") (= "=") (binary_expression "(uint)pppppcStack_94 & 2" (cast_expression "(uint)pppppcStack_94" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppcStack_94")) (& "&") (number_literal "2"))) (; ";")) (expression_statement "uStack_b4 = (uint)pppppcStack_94 & 0x20;" (assignment_expression "uStack_b4 = (uint)pppppcStack_94 & 0x20" (identifier "uStack_b4") (= "=") (binary_expression "(uint)pppppcStack_94 & 0x20" (cast_expression "(uint)pppppcStack_94" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppcStack_94")) (& "&") (number_literal "0x20"))) (; ";")) (expression_statement "pppppppcStack_d4 = unaff_s7;" (assignment_expression "pppppppcStack_d4 = unaff_s7" (identifier "pppppppcStack_d4") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "pppppppcStack_d0 = unaff_s8;" (assignment_expression "pppppppcStack_d0 = unaff_s8" (identifier "pppppppcStack_d0") (= "=") (identifier "unaff_s8")) (; ";")) (do_statement "do {\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          } while ((*param_2)[0x14] != (code *****)0x0);" (do "do") (compound_statement "{\n            param_1 = pppppppcStack_f0;\n            ppppppcStack_90 = (code ******)0x0;\n            ppppppcStack_8c = (code ******)0x0;\n            ppppppcVar7 = *pppppppcStack_f0;\n            pppppppcVar24 = (code *******)ppppppcVar7[0x16];\n            param_2 = (code *******)ppppppcVar7[0x17];\n            param_4 = pppppppcStack_d0;\n            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);\n            if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }\n            if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }\n            pppppppcVar13 = pppppppcStack_e0;\n            if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }\n            pppppppcStack_d8 = pppppppcVar8;\n            pppppppcStack_dc = pppppppcVar6;\n            param_2 = pppppppcStack_f0;\n            param_4 = pppppppcStack_c4;\n            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);\n          }" ({ "{") (expression_statement "param_1 = pppppppcStack_f0;" (assignment_expression "param_1 = pppppppcStack_f0" (identifier "param_1") (= "=") (identifier "pppppppcStack_f0")) (; ";")) (expression_statement "ppppppcStack_90 = (code ******)0x0;" (assignment_expression "ppppppcStack_90 = (code ******)0x0" (identifier "ppppppcStack_90") (= "=") (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 "ppppppcStack_8c = (code ******)0x0;" (assignment_expression "ppppppcStack_8c = (code ******)0x0" (identifier "ppppppcStack_8c") (= "=") (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 "ppppppcVar7 = *pppppppcStack_f0;" (assignment_expression "ppppppcVar7 = *pppppppcStack_f0" (identifier "ppppppcVar7") (= "=") (pointer_expression "*pppppppcStack_f0" (* "*") (identifier "pppppppcStack_f0"))) (; ";")) (expression_statement "pppppppcVar24 = (code *******)ppppppcVar7[0x16];" (assignment_expression "pppppppcVar24 = (code *******)ppppppcVar7[0x16]" (identifier "pppppppcVar24") (= "=") (cast_expression "(code *******)ppppppcVar7[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "ppppppcVar7[0x16]" (identifier "ppppppcVar7") ([ "[") (number_literal "0x16") (] "]")))) (; ";")) (expression_statement "param_2 = (code *******)ppppppcVar7[0x17];" (assignment_expression "param_2 = (code *******)ppppppcVar7[0x17]" (identifier "param_2") (= "=") (cast_expression "(code *******)ppppppcVar7[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "ppppppcVar7[0x17]" (identifier "ppppppcVar7") ([ "[") (number_literal "0x17") (] "]")))) (; ";")) (expression_statement "param_4 = pppppppcStack_d0;" (assignment_expression "param_4 = pppppppcStack_d0" (identifier "param_4") (= "=") (identifier "pppppppcStack_d0")) (; ";")) (expression_statement "(*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);" (call_expression "(*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0)" (parenthesized_expression "(*pcStack_fc)" (( "(") (pointer_expression "*pcStack_fc" (* "*") (identifier "pcStack_fc")) () ")")) (argument_list "(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0)" (( "(") (identifier "pppppppcVar26") (, ",") (identifier "ppppppcVar7") (, ",") (identifier "pppppppcStack_d4") (, ",") (identifier "pppppppcStack_d0") () ")"))) (; ";")) (if_statement "if (unaff_s6 == (code ******)0x1) {\n              unaff_s5 = (code ******)0x1;\n            }\n            else {\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }" (if "if") (parenthesized_expression "(unaff_s6 == (code ******)0x1)" (( "(") (binary_expression "unaff_s6 == (code ******)0x1" (identifier "unaff_s6") (== "==") (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"))) () ")")) (compound_statement "{\n              unaff_s5 = (code ******)0x1;\n            }" ({ "{") (expression_statement "unaff_s5 = (code ******)0x1;" (assignment_expression "unaff_s5 = (code ******)0x1" (identifier "unaff_s5") (= "=") (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              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }" (else "else") (compound_statement "{\n              ppppppcVar7 = param_1[1];\n              unaff_s5 = (code ******)0x1;\n              if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }\n            }" ({ "{") (expression_statement "ppppppcVar7 = param_1[1];" (assignment_expression "ppppppcVar7 = param_1[1]" (identifier "ppppppcVar7") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "unaff_s5 = (code ******)0x1;" (assignment_expression "unaff_s5 = (code ******)0x1" (identifier "unaff_s5") (= "=") (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"))) (; ";")) (if_statement "if (((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)) {\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }" (if "if") (parenthesized_expression "(((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2))" (( "(") (binary_expression "((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&\n                 ((code *******)ppppppcVar7[0x17] == param_2)" (parenthesized_expression "((ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24))" (( "(") (binary_expression "(ppppppcVar7[0x14] != (code *****)0x0) &&\n                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)" (parenthesized_expression "(ppppppcVar7[0x14] != (code *****)0x0)" (( "(") (binary_expression "ppppppcVar7[0x14] != (code *****)0x0" (subscript_expression "ppppppcVar7[0x14]" (identifier "ppppppcVar7") ([ "[") (number_literal "0x14") (] "]")) (!= "!=") (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 "((code *******)ppppppcVar7[0x16] == pppppppcVar24)" (( "(") (binary_expression "(code *******)ppppppcVar7[0x16] == pppppppcVar24" (cast_expression "(code *******)ppppppcVar7[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "ppppppcVar7[0x16]" (identifier "ppppppcVar7") ([ "[") (number_literal "0x16") (] "]"))) (== "==") (identifier "pppppppcVar24")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((code *******)ppppppcVar7[0x17] == param_2)" (( "(") (binary_expression "(code *******)ppppppcVar7[0x17] == param_2" (cast_expression "(code *******)ppppppcVar7[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "ppppppcVar7[0x17]" (identifier "ppppppcVar7") ([ "[") (number_literal "0x17") (] "]"))) (== "==") (identifier "param_2")) () ")"))) () ")")) (compound_statement "{\n                param_1 = param_1 + 2;\n                while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }\n              }" ({ "{") (expression_statement "param_1 = param_1 + 2;" (assignment_expression "param_1 = param_1 + 2" (identifier "param_1") (= "=") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2"))) (; ";")) (while_statement "while( true ) {\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\n                }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                  param_4 = (code *******)0x0;\n                  unaff_s5 = (code ******)((int)unaff_s5 + 1);\n                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);\n                  if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;\n                  param_1 = param_1 + 1;\n                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;\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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_s5 = (code ******)((int)unaff_s5 + 1);" (assignment_expression "unaff_s5 = (code ******)((int)unaff_s5 + 1)" (identifier "unaff_s5") (= "=") (cast_expression "(code ******)((int)unaff_s5 + 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)unaff_s5 + 1)" (( "(") (binary_expression "(int)unaff_s5 + 1" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "(*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);" (call_expression "(*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0)" (parenthesized_expression "(*pcStack_fc)" (( "(") (pointer_expression "*pcStack_fc" (* "*") (identifier "pcStack_fc")) () ")")) (argument_list "(pppppppcVar26,ppppppcVar7,0,0)" (( "(") (identifier "pppppppcVar26") (, ",") (identifier "ppppppcVar7") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if ((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;" (if "if") (parenthesized_expression "((unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0))" (( "(") (binary_expression "(unaff_s5 == unaff_s6) ||\n                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)" (parenthesized_expression "(unaff_s5 == unaff_s6)" (( "(") (binary_expression "unaff_s5 == unaff_s6" (identifier "unaff_s5") (== "==") (identifier "unaff_s6")) () ")")) (|| "||") (parenthesized_expression "(ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)" (( "(") (comma_expression "ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0" (assignment_expression "ppppppcVar7 = *param_1" (identifier "ppppppcVar7") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (, ",") (binary_expression "ppppppcVar7[0x14] == (code *****)0x0" (subscript_expression "ppppppcVar7[0x14]" (identifier "ppppppcVar7") ([ "[") (number_literal "0x14") (] "]")) (== "==") (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")))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "param_1 = param_1 + 1;" (assignment_expression "param_1 = param_1 + 1" (identifier "param_1") (= "=") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)) break;" (if "if") (parenthesized_expression "(((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2))" (( "(") (binary_expression "((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||\n                     ((code *******)ppppppcVar7[0x17] != param_2)" (parenthesized_expression "((code *******)ppppppcVar7[0x16] != pppppppcVar24)" (( "(") (binary_expression "(code *******)ppppppcVar7[0x16] != pppppppcVar24" (cast_expression "(code *******)ppppppcVar7[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "ppppppcVar7[0x16]" (identifier "ppppppcVar7") ([ "[") (number_literal "0x16") (] "]"))) (!= "!=") (identifier "pppppppcVar24")) () ")")) (|| "||") (parenthesized_expression "((code *******)ppppppcVar7[0x17] != param_2)" (( "(") (binary_expression "(code *******)ppppppcVar7[0x17] != param_2" (cast_expression "(code *******)ppppppcVar7[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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "ppppppcVar7[0x17]" (identifier "ppppppcVar7") ([ "[") (number_literal "0x17") (] "]"))) (!= "!=") (identifier "param_2")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (} "}"))) (} "}")))) (if_statement "if (uStack_b8 != 0) {\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }" (if "if") (parenthesized_expression "(uStack_b8 != 0)" (( "(") (binary_expression "uStack_b8 != 0" (identifier "uStack_b8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              param_4 = pppppppcStack_d0;\n              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);\n            }" ({ "{") (expression_statement "param_4 = pppppppcStack_d0;" (assignment_expression "param_4 = pppppppcStack_d0" (identifier "param_4") (= "=") (identifier "pppppppcStack_d0")) (; ";")) (expression_statement "(*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);" (call_expression "(*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0)" (parenthesized_expression "(*pcStack_9c)" (( "(") (pointer_expression "*pcStack_9c" (* "*") (identifier "pcStack_9c")) () ")")) (argument_list "(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0)" (( "(") (subscript_expression "ppppppcStack_a4[2]" (identifier "ppppppcStack_a4") ([ "[") (number_literal "2") (] "]")) (, ",") (number_literal "0") (, ",") (identifier "pppppppcStack_d4") (, ",") (identifier "pppppppcStack_d0") () ")"))) (; ";")) (} "}"))) (expression_statement "pppppppcVar13 = pppppppcStack_e0;" (assignment_expression "pppppppcVar13 = pppppppcStack_e0" (identifier "pppppppcVar13") (= "=") (identifier "pppppppcStack_e0")) (; ";")) (if_statement "if ((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)) {\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }" (if "if") (parenthesized_expression "((uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c))" (( "(") (binary_expression "(uStack_bc == 0) ||\n               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)" (parenthesized_expression "(uStack_bc == 0)" (( "(") (binary_expression "uStack_bc == 0" (identifier "uStack_bc") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c)" (( "(") (comma_expression "pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c" (assignment_expression "pppppppcVar6 = pppppppcStack_dc" (identifier "pppppppcVar6") (= "=") (identifier "pppppppcStack_dc")) (, ",") (comma_expression "pppppppcVar8 = pppppppcStack_d8,\n               0 < (int)ppppppcStack_8c" (assignment_expression "pppppppcVar8 = pppppppcStack_d8" (identifier "pppppppcVar8") (= "=") (identifier "pppppppcStack_d8")) (, ",") (binary_expression "0 < (int)ppppppcStack_8c" (number_literal "0") (< "<") (cast_expression "(int)ppppppcStack_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcStack_8c"))))) () ")"))) () ")")) (compound_statement "{\n              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }\n              unaff_s8 = pppppppcStack_e8;\n              pppppppcVar6 = pppppppcStack_e8;\n              pppppppcVar8 = pppppppcVar29;\n              iVar2 = 0;\n              do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);\n              if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }\n              ppppppcVar7 = pppppppcStack_e0[4];\n              unaff_s4 = pppppppcStack_e8;\n              unaff_s7 = pppppppcVar29;\n              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }\n              param_1 = pppppppcStack_e0;\n              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);\n              pcVar25 = pcVar27;\n              pppppppcVar13 = unaff_s8;\n              pcStack_ec = pcVar27;\n              pppppppcVar6 = pppppppcVar24;\n              if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }\n            }" ({ "{") (if_statement "if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }\n              else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" (if "if") (parenthesized_expression "(*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0)" (( "(") (binary_expression "*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_c8 + 0xeb)" (* "*") (cast_expression "(code *)((int)pppppppcStack_c8 + 0xeb)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcStack_c8 + 0xeb)" (( "(") (binary_expression "(int)pppppppcStack_c8 + 0xeb" (cast_expression "(int)pppppppcStack_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_c8")) (+ "+") (number_literal "0xeb")) () ")")))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));\n                pppppppcStack_e8 = unaff_s4;\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }\n              }" ({ "{") (expression_statement "unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);" (assignment_expression "unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8)" (identifier "unaff_s4") (= "=") (cast_expression "(code *******)((int)param_2 - (int)pppppppcStack_d8)" (( "(") (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 "((int)param_2 - (int)pppppppcStack_d8)" (( "(") (binary_expression "(int)param_2 - (int)pppppppcStack_d8" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (- "-") (cast_expression "(int)pppppppcStack_d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_d8"))) () ")")))) (; ";")) (expression_statement "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));" (assignment_expression "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc))" (identifier "pppppppcVar29") (= "=") (cast_expression "(code *******)\n                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc))" (( "(") (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 "((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc))" (( "(") (binary_expression "(int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc)" (cast_expression "(int)pppppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar24")) (+ "+") (parenthesized_expression "(-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc)" (( "(") (binary_expression "-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc" (unary_expression "-(uint)(param_2 < unaff_s4)" (- "-") (call_expression "(uint)(param_2 < unaff_s4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_2 < unaff_s4)" (( "(") (binary_expression "param_2 < unaff_s4" (identifier "param_2") (< "<") (identifier "unaff_s4")) () ")")))) (- "-") (cast_expression "(int)pppppppcStack_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_dc"))) () ")"))) () ")")))) (; ";")) (expression_statement "pppppppcStack_e8 = unaff_s4;" (assignment_expression "pppppppcStack_e8 = unaff_s4" (identifier "pppppppcStack_e8") (= "=") (identifier "unaff_s4")) (; ";")) (if_statement "if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }" (if "if") (parenthesized_expression "(((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0))))" (( "(") (binary_expression "((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))" (parenthesized_expression "((int)pppppppcVar29 < 1)" (( "(") (binary_expression "(int)pppppppcVar29 < 1" (cast_expression "(int)pppppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar29")) (< "<") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))" (( "(") (parenthesized_expression "(pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0))" (( "(") (binary_expression "pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)" (binary_expression "pppppppcVar29 != (code *******)0x0" (identifier "pppppppcVar29") (!= "!=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(unaff_s4 == (code *******)0x0)" (( "(") (binary_expression "unaff_s4 == (code *******)0x0" (identifier "unaff_s4") (== "==") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                  iVar2 = 0x10b;\n                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;\nLAB_0011e414:\n                  iVar2 = 0x10b;\n                  unaff_s4 = pppppppcStack_e8;\n                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;\n                  if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }\n                }" ({ "{") (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" (identifier "iVar2") (= "=") (number_literal "0x10b")) (; ";")) (if_statement "if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;" (if "if") (parenthesized_expression "(0 < (int)pppppppcStack_f4)" (( "(") (binary_expression "0 < (int)pppppppcStack_f4" (number_literal "0") (< "<") (cast_expression "(int)pppppppcStack_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f4"))) () ")")) (goto_statement "goto LAB_0011ddb4;" (goto "goto") (statement_identifier "LAB_0011ddb4") (; ";"))) (labeled_statement "LAB_0011e414:\n                  iVar2 = 0x10b;" (statement_identifier "LAB_0011e414") (: ":") (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" (identifier "iVar2") (= "=") (number_literal "0x10b")) (; ";"))) (expression_statement "unaff_s4 = pppppppcStack_e8;" (assignment_expression "unaff_s4 = pppppppcStack_e8" (identifier "unaff_s4") (= "=") (identifier "pppppppcStack_e8")) (; ";")) (if_statement "if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;" (if "if") (parenthesized_expression "(pppppppcVar24 != pppppppcVar29)" (( "(") (binary_expression "pppppppcVar24 != pppppppcVar29" (identifier "pppppppcVar24") (!= "!=") (identifier "pppppppcVar29")) () ")")) (goto_statement "goto LAB_0011ddb4;" (goto "goto") (statement_identifier "LAB_0011ddb4") (; ";"))) (if_statement "if (param_2 != pppppppcStack_e8) {\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }" (if "if") (parenthesized_expression "(param_2 != pppppppcStack_e8)" (( "(") (binary_expression "param_2 != pppppppcStack_e8" (identifier "param_2") (!= "!=") (identifier "pppppppcStack_e8")) () ")")) (compound_statement "{\n                    iVar2 = 0x10b;\n                    goto LAB_0011ddb4;\n                  }" ({ "{") (expression_statement "iVar2 = 0x10b;" (assignment_expression "iVar2 = 0x10b" (identifier "iVar2") (= "=") (number_literal "0x10b")) (; ";")) (goto_statement "goto LAB_0011ddb4;" (goto "goto") (statement_identifier "LAB_0011ddb4") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" (else "else") (if_statement "if ((int)pppppppcStack_f4 < 1) {\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }\n              else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" (if "if") (parenthesized_expression "((int)pppppppcStack_f4 < 1)" (( "(") (binary_expression "(int)pppppppcStack_f4 < 1" (cast_expression "(int)pppppppcStack_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f4")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;\n              }" ({ "{") (expression_statement "pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);" (assignment_expression "pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8)" (identifier "pppppppcStack_e8") (= "=") (cast_expression "(code *******)((int)param_2 - (int)pppppppcStack_d8)" (( "(") (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 "((int)param_2 - (int)pppppppcStack_d8)" (( "(") (binary_expression "(int)param_2 - (int)pppppppcStack_d8" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (- "-") (cast_expression "(int)pppppppcStack_d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_d8"))) () ")")))) (; ";")) (expression_statement "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));" (assignment_expression "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc))" (identifier "pppppppcVar29") (= "=") (cast_expression "(code *******)\n                     ((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc))" (( "(") (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 "((int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc))" (( "(") (binary_expression "(int)pppppppcVar24 +\n                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc)" (cast_expression "(int)pppppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar24")) (+ "+") (parenthesized_expression "(-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc)" (( "(") (binary_expression "-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc" (unary_expression "-(uint)(param_2 < pppppppcStack_e8)" (- "-") (call_expression "(uint)(param_2 < pppppppcStack_e8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_2 < pppppppcStack_e8)" (( "(") (binary_expression "param_2 < pppppppcStack_e8" (identifier "param_2") (< "<") (identifier "pppppppcStack_e8")) () ")")))) (- "-") (cast_expression "(int)pppppppcStack_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_dc"))) () ")"))) () ")")))) (; ";")) (if_statement "if (((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   ) goto LAB_0011e414;" (if "if") (parenthesized_expression "(((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))\n                   )" (( "(") (binary_expression "((int)pppppppcVar29 < 1) &&\n                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))" (parenthesized_expression "((int)pppppppcVar29 < 1)" (( "(") (binary_expression "(int)pppppppcVar29 < 1" (cast_expression "(int)pppppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar29")) (< "<") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))" (( "(") (parenthesized_expression "(pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0))" (( "(") (binary_expression "pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)" (binary_expression "pppppppcVar29 != (code *******)0x0" (identifier "pppppppcVar29") (!= "!=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(pppppppcStack_e8 == (code *******)0x0)" (( "(") (binary_expression "pppppppcStack_e8 == (code *******)0x0" (identifier "pppppppcStack_e8") (== "==") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0011e414;" (goto "goto") (statement_identifier "LAB_0011e414") (; ";"))) (} "}")) (else_clause "else {\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" (else "else") (compound_statement "{\n                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);\n                pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));\n                if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;\n              }" ({ "{") (expression_statement "pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);" (assignment_expression "pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2)" (identifier "pppppppcStack_e8") (= "=") (cast_expression "(code *******)((int)pppppppcStack_d8 - (int)param_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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcStack_d8 - (int)param_2)" (( "(") (binary_expression "(int)pppppppcStack_d8 - (int)param_2" (cast_expression "(int)pppppppcStack_d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_d8")) (- "-") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) () ")")))) (; ";")) (expression_statement "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));" (assignment_expression "pppppppcVar29 =\n                     (code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24))" (identifier "pppppppcVar29") (= "=") (cast_expression "(code *******)\n                     ((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24))" (( "(") (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 "((int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24))" (( "(") (binary_expression "(int)pppppppcStack_dc +\n                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24)" (cast_expression "(int)pppppppcStack_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_dc")) (+ "+") (parenthesized_expression "(-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24)" (( "(") (binary_expression "-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24" (unary_expression "-(uint)(pppppppcStack_d8 < pppppppcStack_e8)" (- "-") (call_expression "(uint)(pppppppcStack_d8 < pppppppcStack_e8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pppppppcStack_d8 < pppppppcStack_e8)" (( "(") (binary_expression "pppppppcStack_d8 < pppppppcStack_e8" (identifier "pppppppcStack_d8") (< "<") (identifier "pppppppcStack_e8")) () ")")))) (- "-") (cast_expression "(int)pppppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar24"))) () ")"))) () ")")))) (; ";")) (if_statement "if (((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;" (if "if") (parenthesized_expression "(((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0))))" (( "(") (binary_expression "((int)pppppppcVar29 < 1) &&\n                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))" (parenthesized_expression "((int)pppppppcVar29 < 1)" (( "(") (binary_expression "(int)pppppppcVar29 < 1" (cast_expression "(int)pppppppcVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar29")) (< "<") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)))" (( "(") (parenthesized_expression "(iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0))" (( "(") (comma_expression "iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)" (assignment_expression "iVar2 = 0x10b" (identifier "iVar2") (= "=") (number_literal "0x10b")) (, ",") (comma_expression "unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)" (assignment_expression "unaff_s4 = pppppppcStack_e8" (identifier "unaff_s4") (= "=") (identifier "pppppppcStack_e8")) (, ",") (binary_expression "pppppppcVar29 != (code *******)0x0\n                    || (pppppppcStack_e8 == (code *******)0x0)" (binary_expression "pppppppcVar29 != (code *******)0x0" (identifier "pppppppcVar29") (!= "!=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(pppppppcStack_e8 == (code *******)0x0)" (( "(") (binary_expression "pppppppcStack_e8 == (code *******)0x0" (identifier "pppppppcStack_e8") (== "==") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")"))))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0011ddb4;" (goto "goto") (statement_identifier "LAB_0011ddb4") (; ";"))) (} "}")))))) (expression_statement "unaff_s8 = pppppppcStack_e8;" (assignment_expression "unaff_s8 = pppppppcStack_e8" (identifier "unaff_s8") (= "=") (identifier "pppppppcStack_e8")) (; ";")) (expression_statement "pppppppcVar6 = pppppppcStack_e8;" (assignment_expression "pppppppcVar6 = pppppppcStack_e8" (identifier "pppppppcVar6") (= "=") (identifier "pppppppcStack_e8")) (; ";")) (expression_statement "pppppppcVar8 = pppppppcVar29;" (assignment_expression "pppppppcVar8 = pppppppcVar29" (identifier "pppppppcVar8") (= "=") (identifier "pppppppcVar29")) (; ";")) (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);" (do "do") (compound_statement "{\n                iVar3 = iVar2;\n                uVar18 = (int)pppppppcVar8 << 0x19;\n                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);\n                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);\n                iVar2 = iVar3 + 1;\n              }" ({ "{") (expression_statement "iVar3 = iVar2;" (assignment_expression "iVar3 = iVar2" (identifier "iVar3") (= "=") (identifier "iVar2")) (; ";")) (expression_statement "uVar18 = (int)pppppppcVar8 << 0x19;" (assignment_expression "uVar18 = (int)pppppppcVar8 << 0x19" (identifier "uVar18") (= "=") (binary_expression "(int)pppppppcVar8 << 0x19" (cast_expression "(int)pppppppcVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar8")) (<< "<<") (number_literal "0x19"))) (; ";")) (expression_statement "pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);" (assignment_expression "pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7)" (identifier "pppppppcVar8") (= "=") (cast_expression "(code *******)((uint)pppppppcVar8 >> 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((uint)pppppppcVar8 >> 7)" (( "(") (binary_expression "(uint)pppppppcVar8 >> 7" (cast_expression "(uint)pppppppcVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar8")) (>> ">>") (number_literal "7")) () ")")))) (; ";")) (expression_statement "pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);" (assignment_expression "pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7)" (identifier "pppppppcVar6") (= "=") (cast_expression "(code *******)(uVar18 | (uint)pppppppcVar6 >> 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(uVar18 | (uint)pppppppcVar6 >> 7)" (( "(") (binary_expression "uVar18 | (uint)pppppppcVar6 >> 7" (identifier "uVar18") (| "|") (binary_expression "(uint)pppppppcVar6 >> 7" (cast_expression "(uint)pppppppcVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar6")) (>> ">>") (number_literal "7"))) () ")")))) (; ";")) (expression_statement "iVar2 = iVar3 + 1;" (assignment_expression "iVar2 = iVar3 + 1" (identifier "iVar2") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0)" (( "(") (binary_expression "pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0" (binary_expression "pppppppcVar8 != (code *******)0x0" (identifier "pppppppcVar8") (!= "!=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "pppppppcVar6 != (code *******)0x0" (identifier "pppppppcVar6") (!= "!=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")))) () ")")) (; ";")) (if_statement "if (uStack_cc != 0) {\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }" (if "if") (parenthesized_expression "(uStack_cc != 0)" (( "(") (binary_expression "uStack_cc != 0" (identifier "uStack_cc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;\n              }" ({ "{") (expression_statement "iVar2 = (int)ppppppcStack_8c + iVar3 + 2;" (assignment_expression "iVar2 = (int)ppppppcStack_8c + iVar3 + 2" (identifier "iVar2") (= "=") (binary_expression "(int)ppppppcStack_8c + iVar3 + 2" (binary_expression "(int)ppppppcStack_8c + iVar3" (cast_expression "(int)ppppppcStack_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcStack_8c")) (+ "+") (identifier "iVar3")) (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "ppppppcVar7 = pppppppcStack_e0[4];" (assignment_expression "ppppppcVar7 = pppppppcStack_e0[4]" (identifier "ppppppcVar7") (= "=") (subscript_expression "pppppppcStack_e0[4]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "unaff_s4 = pppppppcStack_e8;" (assignment_expression "unaff_s4 = pppppppcStack_e8" (identifier "unaff_s4") (= "=") (identifier "pppppppcStack_e8")) (; ";")) (expression_statement "unaff_s7 = pppppppcVar29;" (assignment_expression "unaff_s7 = pppppppcVar29" (identifier "unaff_s7") (= "=") (identifier "pppppppcVar29")) (; ";")) (if_statement "if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }" (if "if") (parenthesized_expression "((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2)" (( "(") (binary_expression "(int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2" (cast_expression "(int)pppppppcStack_e0[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppcStack_e0[5]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "5") (] "]"))) (< "<") (binary_expression "(int)pppppppcStack_f4 + iVar2" (cast_expression "(int)pppppppcStack_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f4")) (+ "+") (identifier "iVar2"))) () ")")) (compound_statement "{\n                pcVar25 = *(code **)(puStack_108 + -0x7fc0);\n                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);\n                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);\n                unaff_s4 = pppppppcVar13;\n                if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }\n                pppppppcVar13[4] = ppppppcVar7;\n              }" ({ "{") (expression_statement "pcVar25 = *(code **)(puStack_108 + -0x7fc0);" (assignment_expression "pcVar25 = *(code **)(puStack_108 + -0x7fc0)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(puStack_108 + -0x7fc0)" (* "*") (cast_expression "(code **)(puStack_108 + -0x7fc0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_108 + -0x7fc0)" (( "(") (binary_expression "puStack_108 + -0x7fc0" (identifier "puStack_108") (+ "+") (number_literal "-0x7fc0")) () ")"))))) (; ";")) (expression_statement "pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);" (assignment_expression "pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2)" (subscript_expression "pppppppcStack_e0[5]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(code ******)((int)((int)pppppppcStack_f4 + iVar2) * 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)((int)pppppppcStack_f4 + iVar2) * 2)" (( "(") (binary_expression "(int)((int)pppppppcStack_f4 + iVar2) * 2" (cast_expression "(int)((int)pppppppcStack_f4 + iVar2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)pppppppcStack_f4 + iVar2)" (( "(") (binary_expression "(int)pppppppcStack_f4 + iVar2" (cast_expression "(int)pppppppcStack_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f4")) (+ "+") (identifier "iVar2")) () ")"))) (* "*") (number_literal "2")) () ")")))) (; ";")) (expression_statement "ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);" (assignment_expression "ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7)" (identifier "ppppppcVar7") (= "=") (cast_expression "(code ******)(*pcVar25)(ppppppcVar7)" (( "(") (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 "(*pcVar25)(ppppppcVar7)" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "(ppppppcVar7)" (( "(") (identifier "ppppppcVar7") () ")"))))) (; ";")) (expression_statement "unaff_s4 = pppppppcVar13;" (assignment_expression "unaff_s4 = pppppppcVar13" (identifier "unaff_s4") (= "=") (identifier "pppppppcVar13")) (; ";")) (if_statement "if (ppppppcVar7 == (code ******)0x0) {\n                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }" (if "if") (parenthesized_expression "(ppppppcVar7 == (code ******)0x0)" (( "(") (binary_expression "ppppppcVar7 == (code ******)0x0" (identifier "ppppppcVar7") (== "==") (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                  iVar2 = 7;\n                  goto LAB_0011ddb4;\n                }" ({ "{") (expression_statement "iVar2 = 7;" (assignment_expression "iVar2 = 7" (identifier "iVar2") (= "=") (number_literal "7")) (; ";")) (goto_statement "goto LAB_0011ddb4;" (goto "goto") (statement_identifier "LAB_0011ddb4") (; ";")) (} "}"))) (expression_statement "pppppppcVar13[4] = ppppppcVar7;" (assignment_expression "pppppppcVar13[4] = ppppppcVar7" (subscript_expression "pppppppcVar13[4]" (identifier "pppppppcVar13") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "ppppppcVar7")) (; ";")) (} "}"))) (expression_statement "param_1 = pppppppcStack_e0;" (assignment_expression "param_1 = pppppppcStack_e0" (identifier "param_1") (= "=") (identifier "pppppppcStack_e0")) (; ";")) (expression_statement "pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);" (assignment_expression "pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7)" (identifier "pcVar27") (= "=") (cast_expression "(code *)((int)pppppppcStack_f4 + (int)ppppppcVar7)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcStack_f4 + (int)ppppppcVar7)" (( "(") (binary_expression "(int)pppppppcStack_f4 + (int)ppppppcVar7" (cast_expression "(int)pppppppcStack_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f4")) (+ "+") (cast_expression "(int)ppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar7"))) () ")")))) (; ";")) (expression_statement "pcVar25 = pcVar27;" (assignment_expression "pcVar25 = pcVar27" (identifier "pcVar25") (= "=") (identifier "pcVar27")) (; ";")) (expression_statement "pppppppcVar13 = unaff_s8;" (assignment_expression "pppppppcVar13 = unaff_s8" (identifier "pppppppcVar13") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pcStack_ec = pcVar27;" (assignment_expression "pcStack_ec = pcVar27" (identifier "pcStack_ec") (= "=") (identifier "pcVar27")) (; ";")) (expression_statement "pppppppcVar6 = pppppppcVar24;" (assignment_expression "pppppppcVar6 = pppppppcVar24" (identifier "pppppppcVar6") (= "=") (identifier "pppppppcVar24")) (; ";")) (if_statement "if (uStack_b4 == 0) {\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }\n              else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(uStack_b4 == 0)" (( "(") (binary_expression "uStack_b4 == 0" (identifier "uStack_b4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);\n                *pcVar14 = (code)(bVar1 & 0x7f);\n                pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));\n                pppppppcStack_f4 = pppppppcVar13;\n                pppppppcVar8 = param_2;\n                if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }\n              }" ({ "{") (do_statement "do {\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);" (do "do") (compound_statement "{\n                  pcVar14 = pcVar25;\n                  uVar18 = (int)unaff_s7 << 0x19;\n                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);\n                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                  bVar1 = (byte)pppppppcVar13;\n                  *pcVar14 = (code)(bVar1 | 0x80);\n                  pcVar25 = pcVar14 + 1;\n                  pppppppcVar13 = unaff_s8;\n                }" ({ "{") (expression_statement "pcVar14 = pcVar25;" (assignment_expression "pcVar14 = pcVar25" (identifier "pcVar14") (= "=") (identifier "pcVar25")) (; ";")) (expression_statement "uVar18 = (int)unaff_s7 << 0x19;" (assignment_expression "uVar18 = (int)unaff_s7 << 0x19" (identifier "uVar18") (= "=") (binary_expression "(int)unaff_s7 << 0x19" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (<< "<<") (number_literal "0x19"))) (; ";")) (expression_statement "unaff_s7 = (code *******)((uint)unaff_s7 >> 7);" (assignment_expression "unaff_s7 = (code *******)((uint)unaff_s7 >> 7)" (identifier "unaff_s7") (= "=") (cast_expression "(code *******)((uint)unaff_s7 >> 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((uint)unaff_s7 >> 7)" (( "(") (binary_expression "(uint)unaff_s7 >> 7" (cast_expression "(uint)unaff_s7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s7")) (>> ">>") (number_literal "7")) () ")")))) (; ";")) (expression_statement "unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);" (assignment_expression "unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" (identifier "unaff_s8") (= "=") (cast_expression "(code *******)(uVar18 | (uint)pppppppcVar13 >> 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(uVar18 | (uint)pppppppcVar13 >> 7)" (( "(") (binary_expression "uVar18 | (uint)pppppppcVar13 >> 7" (identifier "uVar18") (| "|") (binary_expression "(uint)pppppppcVar13 >> 7" (cast_expression "(uint)pppppppcVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar13")) (>> ">>") (number_literal "7"))) () ")")))) (; ";")) (expression_statement "bVar1 = (byte)pppppppcVar13;" (assignment_expression "bVar1 = (byte)pppppppcVar13" (identifier "bVar1") (= "=") (cast_expression "(byte)pppppppcVar13" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "pppppppcVar13"))) (; ";")) (expression_statement "*pcVar14 = (code)(bVar1 | 0x80);" (assignment_expression "*pcVar14 = (code)(bVar1 | 0x80)" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (= "=") (call_expression "(code)(bVar1 | 0x80)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "(bVar1 | 0x80)" (( "(") (binary_expression "bVar1 | 0x80" (identifier "bVar1") (| "|") (number_literal "0x80")) () ")")))) (; ";")) (expression_statement "pcVar25 = pcVar14 + 1;" (assignment_expression "pcVar25 = pcVar14 + 1" (identifier "pcVar25") (= "=") (binary_expression "pcVar14 + 1" (identifier "pcVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppppcVar13 = unaff_s8;" (assignment_expression "pppppppcVar13 = unaff_s8" (identifier "pppppppcVar13") (= "=") (identifier "unaff_s8")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0)" (( "(") (binary_expression "unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0" (binary_expression "unaff_s7 != (code *******)0x0" (identifier "unaff_s7") (!= "!=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")))) () ")")) (; ";")) (expression_statement "*pcVar14 = (code)(bVar1 & 0x7f);" (assignment_expression "*pcVar14 = (code)(bVar1 & 0x7f)" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (= "=") (call_expression "(code)(bVar1 & 0x7f)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "(bVar1 & 0x7f)" (( "(") (binary_expression "bVar1 & 0x7f" (identifier "bVar1") (& "&") (number_literal "0x7f")) () ")")))) (; ";")) (expression_statement "pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));" (assignment_expression "pppppppcVar13 =\n                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27))" (identifier "pppppppcVar13") (= "=") (cast_expression "(code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27))" (( "(") (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 "((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27))" (( "(") (binary_expression "(int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27)" (cast_expression "(int)pppppppcStack_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f4")) (+ "+") (parenthesized_expression "((int)(pcVar14 + 1) - (int)pcVar27)" (( "(") (binary_expression "(int)(pcVar14 + 1) - (int)pcVar27" (cast_expression "(int)(pcVar14 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar14 + 1)" (( "(") (binary_expression "pcVar14 + 1" (identifier "pcVar14") (+ "+") (number_literal "1")) () ")"))) (- "-") (cast_expression "(int)pcVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar27"))) () ")"))) () ")")))) (; ";")) (expression_statement "pppppppcStack_f4 = pppppppcVar13;" (assignment_expression "pppppppcStack_f4 = pppppppcVar13" (identifier "pppppppcStack_f4") (= "=") (identifier "pppppppcVar13")) (; ";")) (expression_statement "pppppppcVar8 = param_2;" (assignment_expression "pppppppcVar8 = param_2" (identifier "pppppppcVar8") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (uStack_cc != 0) {\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }" (if "if") (parenthesized_expression "(uStack_cc != 0)" (( "(") (binary_expression "uStack_cc != 0" (identifier "uStack_cc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  (**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);\n                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;\n                  unaff_s4 = pppppppcVar13;\n                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);\n                  pppppppcVar8 = param_2;\n                }" ({ "{") (expression_statement "(**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c);" (call_expression "(**(code **)(puStack_108 + -0x7b80))\n                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c)" (parenthesized_expression "(**(code **)(puStack_108 + -0x7b80))" (( "(") (pointer_expression "**(code **)(puStack_108 + -0x7b80)" (* "*") (pointer_expression "*(code **)(puStack_108 + -0x7b80)" (* "*") (cast_expression "(code **)(puStack_108 + -0x7b80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_108 + -0x7b80)" (( "(") (binary_expression "puStack_108 + -0x7b80" (identifier "puStack_108") (+ "+") (number_literal "-0x7b80")) () ")"))))) () ")")) (argument_list "((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90\n                             ,ppppppcStack_8c)" (( "(") (cast_expression "(code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4])" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar13 + (int)pppppppcStack_e0[4])" (( "(") (binary_expression "(int)pppppppcVar13 + (int)pppppppcStack_e0[4]" (cast_expression "(int)pppppppcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar13")) (+ "+") (cast_expression "(int)pppppppcStack_e0[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppcStack_e0[4]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "4") (] "]")))) () ")"))) (, ",") (identifier "ppppppcStack_90") (, ",") (identifier "ppppppcStack_8c") () ")"))) (; ";")) (expression_statement "*(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0\n                  ;" (assignment_expression "*(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c)" (* "*") (cast_expression "(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c)" (( "(") (binary_expression "(int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c" (binary_expression "(int)pppppppcVar13 + (int)param_1[4]" (cast_expression "(int)pppppppcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar13")) (+ "+") (cast_expression "(int)param_1[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")))) (+ "+") (cast_expression "(int)ppppppcStack_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcStack_8c"))) () ")")))) (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_s4 = pppppppcVar13;" (assignment_expression "unaff_s4 = pppppppcVar13" (identifier "unaff_s4") (= "=") (identifier "pppppppcVar13")) (; ";")) (expression_statement "pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);" (assignment_expression "pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1)" (identifier "pppppppcStack_f4") (= "=") (cast_expression "(code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppcVar13 + (int)ppppppcStack_8c + 1)" (( "(") (binary_expression "(int)pppppppcVar13 + (int)ppppppcStack_8c + 1" (binary_expression "(int)pppppppcVar13 + (int)ppppppcStack_8c" (cast_expression "(int)pppppppcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar13")) (+ "+") (cast_expression "(int)ppppppcStack_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcStack_8c"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pppppppcVar8 = param_2;" (assignment_expression "pppppppcVar8 = param_2" (identifier "pppppppcVar8") (= "=") (identifier "param_2")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }" (else "else") (compound_statement "{\n                uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);\n                ppppppcVar7 = ppppppcStack_90;\n                if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }\n              }" ({ "{") (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcStack_90;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcStack_90" (identifier "uVar18") (= "=") (binary_expression "(uint)(char)*(code *)ppppppcStack_90" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (cast_expression "(code *)ppppppcStack_90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppcStack_90")))) (; ";")) (expression_statement "ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);" (assignment_expression "ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c)" (identifier "ppppppcVar31") (= "=") (cast_expression "(code ******)((int)ppppppcStack_90 + (int)ppppppcStack_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 "*" (* "*")))))))) () ")") (parenthesized_expression "((int)ppppppcStack_90 + (int)ppppppcStack_8c)" (( "(") (binary_expression "(int)ppppppcStack_90 + (int)ppppppcStack_8c" (cast_expression "(int)ppppppcStack_90" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcStack_90")) (+ "+") (cast_expression "(int)ppppppcStack_8c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcStack_8c"))) () ")")))) (; ";")) (expression_statement "ppppppcVar7 = ppppppcStack_90;" (assignment_expression "ppppppcVar7 = ppppppcStack_90" (identifier "ppppppcVar7") (= "=") (identifier "ppppppcStack_90")) (; ";")) (if_statement "if (uVar18 == 1) {\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }\n                else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }" (if "if") (parenthesized_expression "(uVar18 == 1)" (( "(") (binary_expression "uVar18 == 1" (identifier "uVar18") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                  pcVar25 = (code *)0x0;\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }\n                }" ({ "{") (expression_statement "pcVar25 = (code *)0x0;" (assignment_expression "pcVar25 = (code *)0x0" (identifier "pcVar25") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_1 = pppppppcVar29;" (assignment_expression "param_1 = pppppppcVar29" (identifier "param_1") (= "=") (identifier "pppppppcVar29")) (; ";")) (expression_statement "pppppppcVar6 = pppppppcStack_dc;" (assignment_expression "pppppppcVar6 = pppppppcStack_dc" (identifier "pppppppcVar6") (= "=") (identifier "pppppppcStack_dc")) (; ";")) (expression_statement "pppppppcVar8 = pppppppcStack_d8;" (assignment_expression "pppppppcVar8 = pppppppcStack_d8" (identifier "pppppppcVar8") (= "=") (identifier "pppppppcStack_d8")) (; ";")) (if_statement "if (ppppppcStack_90 < ppppppcVar31) {\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }" (if "if") (parenthesized_expression "(ppppppcStack_90 < ppppppcVar31)" (( "(") (binary_expression "ppppppcStack_90 < ppppppcVar31" (identifier "ppppppcStack_90") (< "<") (identifier "ppppppcVar31")) () ")")) (compound_statement "{\n                    iStack_e4 = 0;\n                    goto LAB_0011e284;\n                  }" ({ "{") (expression_statement "iStack_e4 = 0;" (assignment_expression "iStack_e4 = 0" (identifier "iStack_e4") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0011e284;" (goto "goto") (statement_identifier "LAB_0011e284") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }" (else "else") (compound_statement "{\n                  pcVar25 = (code *)0x0;\n                  pppppppcVar13 = pppppppcStack_e8;\n                  pppppppcVar6 = pppppppcVar29;\n                  pcVar14 = pcVar27;\n                  if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }\n                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }\n                  if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }\n                  if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }\n                  param_1 = pppppppcVar29;\n                  pppppppcVar6 = pppppppcStack_dc;\n                  pppppppcVar8 = pppppppcStack_d8;\n                  if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }\n                }" ({ "{") (expression_statement "pcVar25 = (code *)0x0;" (assignment_expression "pcVar25 = (code *)0x0" (identifier "pcVar25") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppcVar13 = pppppppcStack_e8;" (assignment_expression "pppppppcVar13 = pppppppcStack_e8" (identifier "pppppppcVar13") (= "=") (identifier "pppppppcStack_e8")) (; ";")) (expression_statement "pppppppcVar6 = pppppppcVar29;" (assignment_expression "pppppppcVar6 = pppppppcVar29" (identifier "pppppppcVar6") (= "=") (identifier "pppppppcVar29")) (; ";")) (expression_statement "pcVar14 = pcVar27;" (assignment_expression "pcVar14 = pcVar27" (identifier "pcVar14") (= "=") (identifier "pcVar27")) (; ";")) (if_statement "if (uVar18 == 2) {\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }\n                  else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }" (if "if") (parenthesized_expression "(uVar18 == 2)" (( "(") (binary_expression "uVar18 == 2" (identifier "uVar18") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                    do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;\n                    *pcVar25 = (code)(bVar1 & 0x7f);\n                    pcVar25 = pcVar14 + (1 - (int)pcVar27);\n                    *pcVar14 = (code)0x2;\n                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;\n                    iStack_e4 = 1;\n                    uVar17 = uVar18;\n                  }" ({ "{") (do_statement "do {\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)\n                    ;" (do "do") (compound_statement "{\n                      pcVar25 = pcVar14;\n                      uVar18 = (int)pppppppcVar6 << 0x19;\n                      pcVar14 = pcVar25 + 1;\n                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                      bVar1 = (byte)pppppppcVar13;\n                      *pcVar25 = (code)(bVar1 | 0x80);\n                      pppppppcVar13 = pppppppcVar8;\n                    }" ({ "{") (expression_statement "pcVar25 = pcVar14;" (assignment_expression "pcVar25 = pcVar14" (identifier "pcVar25") (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "uVar18 = (int)pppppppcVar6 << 0x19;" (assignment_expression "uVar18 = (int)pppppppcVar6 << 0x19" (identifier "uVar18") (= "=") (binary_expression "(int)pppppppcVar6 << 0x19" (cast_expression "(int)pppppppcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar6")) (<< "<<") (number_literal "0x19"))) (; ";")) (expression_statement "pcVar14 = pcVar25 + 1;" (assignment_expression "pcVar14 = pcVar25 + 1" (identifier "pcVar14") (= "=") (binary_expression "pcVar25 + 1" (identifier "pcVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);" (assignment_expression "pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7)" (identifier "pppppppcVar6") (= "=") (cast_expression "(code *******)((uint)pppppppcVar6 >> 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((uint)pppppppcVar6 >> 7)" (( "(") (binary_expression "(uint)pppppppcVar6 >> 7" (cast_expression "(uint)pppppppcVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar6")) (>> ">>") (number_literal "7")) () ")")))) (; ";")) (expression_statement "pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);" (assignment_expression "pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" (identifier "pppppppcVar8") (= "=") (cast_expression "(code *******)(uVar18 | (uint)pppppppcVar13 >> 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(uVar18 | (uint)pppppppcVar13 >> 7)" (( "(") (binary_expression "uVar18 | (uint)pppppppcVar13 >> 7" (identifier "uVar18") (| "|") (binary_expression "(uint)pppppppcVar13 >> 7" (cast_expression "(uint)pppppppcVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar13")) (>> ">>") (number_literal "7"))) () ")")))) (; ";")) (expression_statement "bVar1 = (byte)pppppppcVar13;" (assignment_expression "bVar1 = (byte)pppppppcVar13" (identifier "bVar1") (= "=") (cast_expression "(byte)pppppppcVar13" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "pppppppcVar13"))) (; ";")) (expression_statement "*pcVar25 = (code)(bVar1 | 0x80);" (assignment_expression "*pcVar25 = (code)(bVar1 | 0x80)" (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) (= "=") (call_expression "(code)(bVar1 | 0x80)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "(bVar1 | 0x80)" (( "(") (binary_expression "bVar1 | 0x80" (identifier "bVar1") (| "|") (number_literal "0x80")) () ")")))) (; ";")) (expression_statement "pppppppcVar13 = pppppppcVar8;" (assignment_expression "pppppppcVar13 = pppppppcVar8" (identifier "pppppppcVar13") (= "=") (identifier "pppppppcVar8")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)" (( "(") (binary_expression "pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0" (binary_expression "pppppppcVar6 != (code *******)0x0" (identifier "pppppppcVar6") (!= "!=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "pppppppcVar8 != (code *******)0x0" (identifier "pppppppcVar8") (!= "!=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")))) () ")")) (; ";")) (expression_statement "*pcVar25 = (code)(bVar1 & 0x7f);" (assignment_expression "*pcVar25 = (code)(bVar1 & 0x7f)" (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) (= "=") (call_expression "(code)(bVar1 & 0x7f)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "(bVar1 & 0x7f)" (( "(") (binary_expression "bVar1 & 0x7f" (identifier "bVar1") (& "&") (number_literal "0x7f")) () ")")))) (; ";")) (expression_statement "pcVar25 = pcVar14 + (1 - (int)pcVar27);" (assignment_expression "pcVar25 = pcVar14 + (1 - (int)pcVar27)" (identifier "pcVar25") (= "=") (binary_expression "pcVar14 + (1 - (int)pcVar27)" (identifier "pcVar14") (+ "+") (parenthesized_expression "(1 - (int)pcVar27)" (( "(") (binary_expression "1 - (int)pcVar27" (number_literal "1") (- "-") (cast_expression "(int)pcVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar27"))) () ")")))) (; ";")) (expression_statement "*pcVar14 = (code)0x2;" (assignment_expression "*pcVar14 = (code)0x2" (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) (= "=") (cast_expression "(code)0x2" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcStack_90;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcStack_90" (identifier "uVar18") (= "=") (binary_expression "(uint)(char)*(code *)ppppppcStack_90" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (cast_expression "(code *)ppppppcStack_90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppcStack_90")))) (; ";")) (expression_statement "iStack_e4 = 1;" (assignment_expression "iStack_e4 = 1" (identifier "iStack_e4") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar17 = uVar18;" (assignment_expression "uVar17 = uVar18" (identifier "uVar17") (= "=") (identifier "uVar18")) (; ";")) (} "}")) (else_clause "else {\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }" (else "else") (compound_statement "{\n                    iStack_e4 = 0;\n                    uVar17 = uVar18;\n                  }" ({ "{") (expression_statement "iStack_e4 = 0;" (assignment_expression "iStack_e4 = 0" (identifier "iStack_e4") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar17 = uVar18;" (assignment_expression "uVar17 = uVar18" (identifier "uVar17") (= "=") (identifier "uVar18")) (; ";")) (} "}")))) (for_statement "for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }" (for "for") (( "(") (; ";") (binary_expression "(uVar17 & 0xfe) != 0" (parenthesized_expression "(uVar17 & 0xfe)" (( "(") (binary_expression "uVar17 & 0xfe" (identifier "uVar17") (& "&") (number_literal "0xfe")) () ")")) (!= "!=") (number_literal "0")) (; ";") (assignment_expression "uVar17 = uVar18 | uVar17" (identifier "uVar17") (= "=") (binary_expression "uVar18 | uVar17" (identifier "uVar18") (| "|") (identifier "uVar17"))) () ")") (compound_statement "{\n                    uVar17 = uVar18 & 0xffffff80;\n                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);\n                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                  }" ({ "{") (expression_statement "uVar17 = uVar18 & 0xffffff80;" (assignment_expression "uVar17 = uVar18 & 0xffffff80" (identifier "uVar17") (= "=") (binary_expression "uVar18 & 0xffffff80" (identifier "uVar18") (& "&") (number_literal "0xffffff80"))) (; ";")) (expression_statement "uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);" (assignment_expression "uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1)" (identifier "uVar18") (= "=") (binary_expression "(uint)(char)*(code *)((int)ppppppcVar7 + 1)" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (cast_expression "(code *)((int)ppppppcVar7 + 1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcVar7 + 1)" (( "(") (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar7")) (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);" (assignment_expression "ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1)" (identifier "ppppppcVar7") (= "=") (cast_expression "(code ******)((int)ppppppcVar7 + 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)ppppppcVar7 + 1)" (( "(") (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar7")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (if_statement "if (ppppppcVar7 < ppppppcVar31) {\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }" (if "if") (parenthesized_expression "(ppppppcVar7 < ppppppcVar31)" (( "(") (binary_expression "ppppppcVar7 < ppppppcVar31" (identifier "ppppppcVar7") (< "<") (identifier "ppppppcVar31")) () ")")) (compound_statement "{\nLAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;\n                    unaff_s7 = (code *******)&SUB_00000002;\n                    unaff_s8 = (code *******)0xffffff80;\n                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);\n                    pppppppcStack_a8 = pppppppcVar29;\n                    do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);\n                  }" ({ "{") (labeled_statement "LAB_0011e284:\n                    unaff_s4 = &ppppppcStack_88;" (statement_identifier "LAB_0011e284") (: ":") (expression_statement "unaff_s4 = &ppppppcStack_88;" (assignment_expression "unaff_s4 = &ppppppcStack_88" (identifier "unaff_s4") (= "=") (pointer_expression "&ppppppcStack_88" (& "&") (identifier "ppppppcStack_88"))) (; ";"))) (expression_statement "unaff_s7 = (code *******)&SUB_00000002;" (assignment_expression "unaff_s7 = (code *******)&SUB_00000002" (identifier "unaff_s7") (= "=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&SUB_00000002" (& "&") (identifier "SUB_00000002")))) (; ";")) (expression_statement "unaff_s8 = (code *******)0xffffff80;" (assignment_expression "unaff_s8 = (code *******)0xffffff80" (identifier "unaff_s8") (= "=") (cast_expression "(code *******)0xffffff80" (( "(") (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 "*" (* "*"))))))))) () ")") (number_literal "0xffffff80"))) (; ";")) (expression_statement "pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);" (assignment_expression "pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1)" (identifier "pppppppcVar13") (= "=") (cast_expression "(code *******)((int)ppppppcVar7 + 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)ppppppcVar7 + 1)" (( "(") (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar7")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pppppppcStack_a8 = pppppppcVar29;" (assignment_expression "pppppppcStack_a8 = pppppppcVar29" (identifier "pppppppcStack_a8") (= "=") (identifier "pppppppcVar29")) (; ";")) (do_statement "do {\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    } while (ppppppcVar7 < ppppppcVar31);" (do "do") (compound_statement "{\n                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);\n                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);\n                      uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      uVar17 = uVar18;\n                      if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }\n                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }\n                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);\n                      pppppppcVar13 = pppppppcVar29;\n                    }" ({ "{") (expression_statement "iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);" (assignment_expression "iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4)" (identifier "iVar2") (= "=") (call_expression "(*pcStack_f8)(pppppppcVar13,unaff_s4)" (parenthesized_expression "(*pcStack_f8)" (( "(") (pointer_expression "*pcStack_f8" (* "*") (identifier "pcStack_f8")) () ")")) (argument_list "(pppppppcVar13,unaff_s4)" (( "(") (identifier "pppppppcVar13") (, ",") (identifier "unaff_s4") () ")")))) (; ";")) (expression_statement "ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);" (assignment_expression "ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2)" (identifier "ppppppcVar7") (= "=") (cast_expression "(code ******)((int)pppppppcVar13 + iVar2)" (( "(") (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)pppppppcVar13 + iVar2)" (( "(") (binary_expression "(int)pppppppcVar13 + iVar2" (cast_expression "(int)pppppppcVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar13")) (+ "+") (identifier "iVar2")) () ")")))) (; ";")) (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcVar7;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcVar7" (identifier "uVar18") (= "=") (binary_expression "(uint)(char)*(code *)ppppppcVar7" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (cast_expression "(code *)ppppppcVar7" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppcVar7")))) (; ";")) (expression_statement "uVar17 = uVar18;" (assignment_expression "uVar17 = uVar18" (identifier "uVar17") (= "=") (identifier "uVar18")) (; ";")) (if_statement "if (uVar18 == 2) {\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }" (if "if") (parenthesized_expression "(uVar18 == 2)" (( "(") (binary_expression "uVar18 == 2" (identifier "uVar18") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                        pcVar21 = pcVar27 + (int)pcVar25;\n                        pppppppcVar13 = pppppppcStack_e8;\n                        pppppppcVar6 = pppppppcStack_a8;\n                        pcVar14 = pcVar21;\n                        if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }\n                        pcVar20 = pcVar25 + 1;\n                        *pcVar21 = (code)0x1;\n                        uVar18 = uStack_84;\n                        ppppppcVar10 = ppppppcStack_88;\n                        pcVar14 = pcVar27 + (int)pcVar20;\n                        do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);\n                        iStack_e4 = 1;\n                        *pcVar25 = (code)(bVar1 & 0x7f);\n                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;\n                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                        uVar17 = uVar18;\n                      }" ({ "{") (expression_statement "pcVar21 = pcVar27 + (int)pcVar25;" (assignment_expression "pcVar21 = pcVar27 + (int)pcVar25" (identifier "pcVar21") (= "=") (binary_expression "pcVar27 + (int)pcVar25" (identifier "pcVar27") (+ "+") (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")))) (; ";")) (expression_statement "pppppppcVar13 = pppppppcStack_e8;" (assignment_expression "pppppppcVar13 = pppppppcStack_e8" (identifier "pppppppcVar13") (= "=") (identifier "pppppppcStack_e8")) (; ";")) (expression_statement "pppppppcVar6 = pppppppcStack_a8;" (assignment_expression "pppppppcVar6 = pppppppcStack_a8" (identifier "pppppppcVar6") (= "=") (identifier "pppppppcStack_a8")) (; ";")) (expression_statement "pcVar14 = pcVar21;" (assignment_expression "pcVar14 = pcVar21" (identifier "pcVar14") (= "=") (identifier "pcVar21")) (; ";")) (if_statement "if (iStack_e4 == 0) {\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }" (if "if") (parenthesized_expression "(iStack_e4 == 0)" (( "(") (binary_expression "iStack_e4 == 0" (identifier "iStack_e4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);\n                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);\n                          *pcVar20 = (code)(bVar1 & 0x7f);\n                          pcVar21 = pcVar27 + (int)pcVar25;\n                        }" ({ "{") (do_statement "do {\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          } while (pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0);" (do "do") (compound_statement "{\n                            pcVar20 = pcVar14;\n                            uVar18 = (int)pppppppcVar6 << 0x19;\n                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);\n                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);\n                            bVar1 = (byte)pppppppcVar13;\n                            *pcVar20 = (code)(bVar1 | 0x80);\n                            pppppppcVar13 = pppppppcVar29;\n                            pcVar14 = pcVar20 + 1;\n                          }" ({ "{") (expression_statement "pcVar20 = pcVar14;" (assignment_expression "pcVar20 = pcVar14" (identifier "pcVar20") (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "uVar18 = (int)pppppppcVar6 << 0x19;" (assignment_expression "uVar18 = (int)pppppppcVar6 << 0x19" (identifier "uVar18") (= "=") (binary_expression "(int)pppppppcVar6 << 0x19" (cast_expression "(int)pppppppcVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar6")) (<< "<<") (number_literal "0x19"))) (; ";")) (expression_statement "pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);" (assignment_expression "pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7)" (identifier "pppppppcVar6") (= "=") (cast_expression "(code *******)((uint)pppppppcVar6 >> 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((uint)pppppppcVar6 >> 7)" (( "(") (binary_expression "(uint)pppppppcVar6 >> 7" (cast_expression "(uint)pppppppcVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar6")) (>> ">>") (number_literal "7")) () ")")))) (; ";")) (expression_statement "pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);" (assignment_expression "pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7)" (identifier "pppppppcVar29") (= "=") (cast_expression "(code *******)(uVar18 | (uint)pppppppcVar13 >> 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(uVar18 | (uint)pppppppcVar13 >> 7)" (( "(") (binary_expression "uVar18 | (uint)pppppppcVar13 >> 7" (identifier "uVar18") (| "|") (binary_expression "(uint)pppppppcVar13 >> 7" (cast_expression "(uint)pppppppcVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar13")) (>> ">>") (number_literal "7"))) () ")")))) (; ";")) (expression_statement "bVar1 = (byte)pppppppcVar13;" (assignment_expression "bVar1 = (byte)pppppppcVar13" (identifier "bVar1") (= "=") (cast_expression "(byte)pppppppcVar13" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "pppppppcVar13"))) (; ";")) (expression_statement "*pcVar20 = (code)(bVar1 | 0x80);" (assignment_expression "*pcVar20 = (code)(bVar1 | 0x80)" (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) (= "=") (call_expression "(code)(bVar1 | 0x80)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "(bVar1 | 0x80)" (( "(") (binary_expression "bVar1 | 0x80" (identifier "bVar1") (| "|") (number_literal "0x80")) () ")")))) (; ";")) (expression_statement "pppppppcVar13 = pppppppcVar29;" (assignment_expression "pppppppcVar13 = pppppppcVar29" (identifier "pppppppcVar13") (= "=") (identifier "pppppppcVar29")) (; ";")) (expression_statement "pcVar14 = pcVar20 + 1;" (assignment_expression "pcVar14 = pcVar20 + 1" (identifier "pcVar14") (= "=") (binary_expression "pcVar20 + 1" (identifier "pcVar20") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0)" (( "(") (binary_expression "pppppppcVar6 != (code *******)0x0 ||\n                                   pppppppcVar29 != (code *******)0x0" (binary_expression "pppppppcVar6 != (code *******)0x0" (identifier "pppppppcVar6") (!= "!=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (|| "||") (binary_expression "pppppppcVar29 != (code *******)0x0" (identifier "pppppppcVar29") (!= "!=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")))) () ")")) (; ";")) (expression_statement "pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);" (assignment_expression "pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21)" (identifier "pcVar25") (= "=") (binary_expression "pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21)" (binary_expression "pcVar20 + 1" (identifier "pcVar20") (+ "+") (number_literal "1")) (+ "+") (parenthesized_expression "((int)pcVar25 - (int)pcVar21)" (( "(") (binary_expression "(int)pcVar25 - (int)pcVar21" (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")) (- "-") (cast_expression "(int)pcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar21"))) () ")")))) (; ";")) (expression_statement "*pcVar20 = (code)(bVar1 & 0x7f);" (assignment_expression "*pcVar20 = (code)(bVar1 & 0x7f)" (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) (= "=") (call_expression "(code)(bVar1 & 0x7f)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "(bVar1 & 0x7f)" (( "(") (binary_expression "bVar1 & 0x7f" (identifier "bVar1") (& "&") (number_literal "0x7f")) () ")")))) (; ";")) (expression_statement "pcVar21 = pcVar27 + (int)pcVar25;" (assignment_expression "pcVar21 = pcVar27 + (int)pcVar25" (identifier "pcVar21") (= "=") (binary_expression "pcVar27 + (int)pcVar25" (identifier "pcVar27") (+ "+") (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")))) (; ";")) (} "}"))) (expression_statement "pcVar20 = pcVar25 + 1;" (assignment_expression "pcVar20 = pcVar25 + 1" (identifier "pcVar20") (= "=") (binary_expression "pcVar25 + 1" (identifier "pcVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pcVar21 = (code)0x1;" (assignment_expression "*pcVar21 = (code)0x1" (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) (= "=") (cast_expression "(code)0x1" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "uVar18 = uStack_84;" (assignment_expression "uVar18 = uStack_84" (identifier "uVar18") (= "=") (identifier "uStack_84")) (; ";")) (expression_statement "ppppppcVar10 = ppppppcStack_88;" (assignment_expression "ppppppcVar10 = ppppppcStack_88" (identifier "ppppppcVar10") (= "=") (identifier "ppppppcStack_88")) (; ";")) (expression_statement "pcVar14 = pcVar27 + (int)pcVar20;" (assignment_expression "pcVar14 = pcVar27 + (int)pcVar20" (identifier "pcVar14") (= "=") (binary_expression "pcVar27 + (int)pcVar20" (identifier "pcVar27") (+ "+") (cast_expression "(int)pcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar20")))) (; ";")) (do_statement "do {\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);" (do "do") (compound_statement "{\n                          pcVar25 = pcVar14;\n                          uVar17 = (int)ppppppcVar10 << 0x19;\n                          pcVar14 = pcVar25 + 1;\n                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);\n                          uVar17 = uVar17 | uVar18 >> 7;\n                          bVar1 = (byte)uVar18;\n                          *pcVar25 = (code)(bVar1 | 0x80);\n                          uVar18 = uVar17;\n                        }" ({ "{") (expression_statement "pcVar25 = pcVar14;" (assignment_expression "pcVar25 = pcVar14" (identifier "pcVar25") (= "=") (identifier "pcVar14")) (; ";")) (expression_statement "uVar17 = (int)ppppppcVar10 << 0x19;" (assignment_expression "uVar17 = (int)ppppppcVar10 << 0x19" (identifier "uVar17") (= "=") (binary_expression "(int)ppppppcVar10 << 0x19" (cast_expression "(int)ppppppcVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar10")) (<< "<<") (number_literal "0x19"))) (; ";")) (expression_statement "pcVar14 = pcVar25 + 1;" (assignment_expression "pcVar14 = pcVar25 + 1" (identifier "pcVar14") (= "=") (binary_expression "pcVar25 + 1" (identifier "pcVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);" (assignment_expression "ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7)" (identifier "ppppppcVar10") (= "=") (cast_expression "(code ******)((uint)ppppppcVar10 >> 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 "*" (* "*")))))))) () ")") (parenthesized_expression "((uint)ppppppcVar10 >> 7)" (( "(") (binary_expression "(uint)ppppppcVar10 >> 7" (cast_expression "(uint)ppppppcVar10" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppppcVar10")) (>> ">>") (number_literal "7")) () ")")))) (; ";")) (expression_statement "uVar17 = uVar17 | uVar18 >> 7;" (assignment_expression "uVar17 = uVar17 | uVar18 >> 7" (identifier "uVar17") (= "=") (binary_expression "uVar17 | uVar18 >> 7" (identifier "uVar17") (| "|") (binary_expression "uVar18 >> 7" (identifier "uVar18") (>> ">>") (number_literal "7")))) (; ";")) (expression_statement "bVar1 = (byte)uVar18;" (assignment_expression "bVar1 = (byte)uVar18" (identifier "bVar1") (= "=") (cast_expression "(byte)uVar18" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar18"))) (; ";")) (expression_statement "*pcVar25 = (code)(bVar1 | 0x80);" (assignment_expression "*pcVar25 = (code)(bVar1 | 0x80)" (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) (= "=") (call_expression "(code)(bVar1 | 0x80)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "(bVar1 | 0x80)" (( "(") (binary_expression "bVar1 | 0x80" (identifier "bVar1") (| "|") (number_literal "0x80")) () ")")))) (; ";")) (expression_statement "uVar18 = uVar17;" (assignment_expression "uVar18 = uVar17" (identifier "uVar18") (= "=") (identifier "uVar17")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppppcVar10 != (code ******)0x0 || uVar17 != 0)" (( "(") (binary_expression "ppppppcVar10 != (code ******)0x0 || uVar17 != 0" (binary_expression "ppppppcVar10 != (code ******)0x0" (identifier "ppppppcVar10") (!= "!=") (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"))) (|| "||") (binary_expression "uVar17 != 0" (identifier "uVar17") (!= "!=") (number_literal "0"))) () ")")) (; ";")) (expression_statement "iStack_e4 = 1;" (assignment_expression "iStack_e4 = 1" (identifier "iStack_e4") (= "=") (number_literal "1")) (; ";")) (expression_statement "*pcVar25 = (code)(bVar1 & 0x7f);" (assignment_expression "*pcVar25 = (code)(bVar1 & 0x7f)" (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) (= "=") (call_expression "(code)(bVar1 & 0x7f)" (parenthesized_expression "(code)" (( "(") (identifier "code") () ")")) (argument_list "(bVar1 & 0x7f)" (( "(") (binary_expression "bVar1 & 0x7f" (identifier "bVar1") (& "&") (number_literal "0x7f")) () ")")))) (; ";")) (expression_statement "pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;" (assignment_expression "pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1" (identifier "pcVar25") (= "=") (binary_expression "pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1" (binary_expression "pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20))" (identifier "pcVar14") (+ "+") (parenthesized_expression "((int)pcVar20 - (int)(pcVar27 + (int)pcVar20))" (( "(") (binary_expression "(int)pcVar20 - (int)(pcVar27 + (int)pcVar20)" (cast_expression "(int)pcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar20")) (- "-") (cast_expression "(int)(pcVar27 + (int)pcVar20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar27 + (int)pcVar20)" (( "(") (binary_expression "pcVar27 + (int)pcVar20" (identifier "pcVar27") (+ "+") (cast_expression "(int)pcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar20"))) () ")")))) () ")"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2;" (assignment_expression "pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =\n                             (code)0x2" (subscript_expression "pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))]" (identifier "pcVar27") ([ "[") (cast_expression "(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))" (( "(") (binary_expression "pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20))" (identifier "pcVar14") (+ "+") (parenthesized_expression "((int)pcVar20 - (int)(pcVar27 + (int)pcVar20))" (( "(") (binary_expression "(int)pcVar20 - (int)(pcVar27 + (int)pcVar20)" (cast_expression "(int)pcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar20")) (- "-") (cast_expression "(int)(pcVar27 + (int)pcVar20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar27 + (int)pcVar20)" (( "(") (binary_expression "pcVar27 + (int)pcVar20" (identifier "pcVar27") (+ "+") (cast_expression "(int)pcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar20"))) () ")")))) () ")"))) () ")"))) (] "]")) (= "=") (cast_expression "(code)0x2" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcVar7;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcVar7" (identifier "uVar18") (= "=") (binary_expression "(uint)(char)*(code *)ppppppcVar7" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (cast_expression "(code *)ppppppcVar7" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppcVar7")))) (; ";")) (expression_statement "uVar17 = uVar18;" (assignment_expression "uVar17 = uVar18" (identifier "uVar17") (= "=") (identifier "uVar18")) (; ";")) (} "}"))) (for_statement "for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }" (for "for") (( "(") (; ";") (binary_expression "(uVar17 & 0xfe) != 0" (parenthesized_expression "(uVar17 & 0xfe)" (( "(") (binary_expression "uVar17 & 0xfe" (identifier "uVar17") (& "&") (number_literal "0xfe")) () ")")) (!= "!=") (number_literal "0")) (; ";") (assignment_expression "uVar17 = uVar18 | uVar17" (identifier "uVar17") (= "=") (binary_expression "uVar18 | uVar17" (identifier "uVar18") (| "|") (identifier "uVar17"))) () ")") (compound_statement "{\n                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);\n                        uVar17 = uVar18 & 0xffffff80;\n                        uVar18 = (uint)(char)*(code *)ppppppcVar7;\n                      }" ({ "{") (expression_statement "ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);" (assignment_expression "ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1)" (identifier "ppppppcVar7") (= "=") (cast_expression "(code ******)((int)ppppppcVar7 + 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)ppppppcVar7 + 1)" (( "(") (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar7")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar17 = uVar18 & 0xffffff80;" (assignment_expression "uVar17 = uVar18 & 0xffffff80" (identifier "uVar17") (= "=") (binary_expression "uVar18 & 0xffffff80" (identifier "uVar18") (& "&") (number_literal "0xffffff80"))) (; ";")) (expression_statement "uVar18 = (uint)(char)*(code *)ppppppcVar7;" (assignment_expression "uVar18 = (uint)(char)*(code *)ppppppcVar7" (identifier "uVar18") (= "=") (binary_expression "(uint)(char)*(code *)ppppppcVar7" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(char)" (( "(") (identifier "char") () ")"))) (* "*") (cast_expression "(code *)ppppppcVar7" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppppppcVar7")))) (; ";")) (} "}"))) (expression_statement "pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);" (assignment_expression "pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1)" (identifier "pppppppcVar29") (= "=") (cast_expression "(code *******)((int)ppppppcVar7 + 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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)ppppppcVar7 + 1)" (( "(") (binary_expression "(int)ppppppcVar7 + 1" (cast_expression "(int)ppppppcVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcVar7")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pppppppcVar13 = pppppppcVar29;" (assignment_expression "pppppppcVar13 = pppppppcVar29" (identifier "pppppppcVar13") (= "=") (identifier "pppppppcVar29")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppppcVar7 < ppppppcVar31)" (( "(") (binary_expression "ppppppcVar7 < ppppppcVar31" (identifier "ppppppcVar7") (< "<") (identifier "ppppppcVar31")) () ")")) (; ";")) (} "}"))) (if_statement "if (iStack_e4 != 0) {\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }" (if "if") (parenthesized_expression "(iStack_e4 != 0)" (( "(") (binary_expression "iStack_e4 != 0" (identifier "iStack_e4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    pcVar27 = pcStack_ec + (int)pcVar25;\n                    pcVar25 = pcVar25 + 1;\n                    *pcVar27 = (code)0x0;\n                  }" ({ "{") (expression_statement "pcVar27 = pcStack_ec + (int)pcVar25;" (assignment_expression "pcVar27 = pcStack_ec + (int)pcVar25" (identifier "pcVar27") (= "=") (binary_expression "pcStack_ec + (int)pcVar25" (identifier "pcStack_ec") (+ "+") (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25")))) (; ";")) (expression_statement "pcVar25 = pcVar25 + 1;" (assignment_expression "pcVar25 = pcVar25 + 1" (identifier "pcVar25") (= "=") (binary_expression "pcVar25 + 1" (identifier "pcVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*pcVar27 = (code)0x0;" (assignment_expression "*pcVar27 = (code)0x0" (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) (= "=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "param_1 = pppppppcVar29;" (assignment_expression "param_1 = pppppppcVar29" (identifier "param_1") (= "=") (identifier "pppppppcVar29")) (; ";")) (expression_statement "pppppppcVar6 = pppppppcStack_dc;" (assignment_expression "pppppppcVar6 = pppppppcStack_dc" (identifier "pppppppcVar6") (= "=") (identifier "pppppppcStack_dc")) (; ";")) (expression_statement "pppppppcVar8 = pppppppcStack_d8;" (assignment_expression "pppppppcVar8 = pppppppcStack_d8" (identifier "pppppppcVar8") (= "=") (identifier "pppppppcStack_d8")) (; ";")) (if_statement "if (pcVar25 != (code *)0x0) {\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }" (if "if") (parenthesized_expression "(pcVar25 != (code *)0x0)" (( "(") (binary_expression "pcVar25 != (code *)0x0" (identifier "pcVar25") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);\n                    pppppppcVar6 = pppppppcVar24;\n                    pppppppcVar8 = param_2;\n                  }" ({ "{") (expression_statement "pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);" (assignment_expression "pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25)" (identifier "pppppppcStack_f4") (= "=") (cast_expression "(code *******)((int)pppppppcStack_f4 + (int)pcVar25)" (( "(") (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 "((int)pppppppcStack_f4 + (int)pcVar25)" (( "(") (binary_expression "(int)pppppppcStack_f4 + (int)pcVar25" (cast_expression "(int)pppppppcStack_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f4")) (+ "+") (cast_expression "(int)pcVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar25"))) () ")")))) (; ";")) (expression_statement "pppppppcVar6 = pppppppcVar24;" (assignment_expression "pppppppcVar6 = pppppppcVar24" (identifier "pppppppcVar6") (= "=") (identifier "pppppppcVar24")) (; ";")) (expression_statement "pppppppcVar8 = param_2;" (assignment_expression "pppppppcVar8 = param_2" (identifier "pppppppcVar8") (= "=") (identifier "param_2")) (; ";")) (} "}"))) (} "}")))) (} "}")))) (} "}"))) (expression_statement "pppppppcStack_d8 = pppppppcVar8;" (assignment_expression "pppppppcStack_d8 = pppppppcVar8" (identifier "pppppppcStack_d8") (= "=") (identifier "pppppppcVar8")) (; ";")) (expression_statement "pppppppcStack_dc = pppppppcVar6;" (assignment_expression "pppppppcStack_dc = pppppppcVar6" (identifier "pppppppcStack_dc") (= "=") (identifier "pppppppcVar6")) (; ";")) (expression_statement "param_2 = pppppppcStack_f0;" (assignment_expression "param_2 = pppppppcStack_f0" (identifier "param_2") (= "=") (identifier "pppppppcStack_f0")) (; ";")) (expression_statement "param_4 = pppppppcStack_c4;" (assignment_expression "param_4 = pppppppcStack_c4" (identifier "param_4") (= "=") (identifier "pppppppcStack_c4")) (; ";")) (expression_statement "(*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);" (call_expression "(*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4)" (parenthesized_expression "(*pcStack_c0)" (( "(") (pointer_expression "*pcStack_c0" (* "*") (identifier "pcStack_c0")) () ")")) (argument_list "(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4)" (( "(") (identifier "pppppppcStack_f0") (, ",") (identifier "unaff_s6") (, ",") (identifier "unaff_s5") (, ",") (identifier "pppppppcStack_c4") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((*param_2)[0x14] != (code *****)0x0)" (( "(") (binary_expression "(*param_2)[0x14] != (code *****)0x0" (subscript_expression "(*param_2)[0x14]" (parenthesized_expression "(*param_2)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")) ([ "[") (number_literal "0x14") (] "]")) (!= "!=") (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 (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;" (if "if") (parenthesized_expression "(0 < (int)pppppppcStack_f4)" (( "(") (binary_expression "0 < (int)pppppppcStack_f4" (number_literal "0") (< "<") (cast_expression "(int)pppppppcStack_f4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f4"))) () ")")) (goto_statement "goto LAB_0011e6ac;" (goto "goto") (statement_identifier "LAB_0011e6ac") (; ";"))) (} "}"))) (expression_statement "pppppppcStack_e0[2] = unaff_s6;" (assignment_expression "pppppppcStack_e0[2] = unaff_s6" (subscript_expression "pppppppcStack_e0[2]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "unaff_s6")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }" (else "else") (compound_statement "{\n    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);\n    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;\nLAB_0011de08:\n    iVar2 = 0;\n  }" ({ "{") (expression_statement "pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);" (assignment_expression "pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674)" (identifier "pppppppcStack_c4") (= "=") (cast_expression "(code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674)" (( "(") (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 "(*(int *)(puVar32 + 0x3da38) + -0x2674)" (( "(") (binary_expression "*(int *)(puVar32 + 0x3da38) + -0x2674" (pointer_expression "*(int *)(puVar32 + 0x3da38)" (* "*") (cast_expression "(int *)(puVar32 + 0x3da38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar32 + 0x3da38)" (( "(") (binary_expression "puVar32 + 0x3da38" (identifier "puVar32") (+ "+") (number_literal "0x3da38")) () ")")))) (+ "+") (number_literal "-0x2674")) () ")")))) (; ";")) (if_statement "if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;" (if "if") (parenthesized_expression "(pppppppcStack_a0 != (code *******)0x0)" (( "(") (binary_expression "pppppppcStack_a0 != (code *******)0x0" (identifier "pppppppcStack_a0") (!= "!=") (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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0011dd08;" (goto "goto") (statement_identifier "LAB_0011dd08") (; ";"))) (labeled_statement "LAB_0011de08:\n    iVar2 = 0;" (statement_identifier "LAB_0011de08") (: ":") (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" (identifier "iVar2") (= "=") (number_literal "0")) (; ";"))) (} "}")))) (labeled_statement "LAB_0011ddb4:\n  if (piStack_7c == (int *)*piStack_98) {\n    return iVar2;\n  }" (statement_identifier "LAB_0011ddb4") (: ":") (if_statement "if (piStack_7c == (int *)*piStack_98) {\n    return iVar2;\n  }" (if "if") (parenthesized_expression "(piStack_7c == (int *)*piStack_98)" (( "(") (binary_expression "piStack_7c == (int *)*piStack_98" (identifier "piStack_7c") (== "==") (cast_expression "(int *)*piStack_98" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piStack_98" (* "*") (identifier "piStack_98")))) () ")")) (compound_statement "{\n    return iVar2;\n  }" ({ "{") (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}")))) (expression_statement "pcVar25 = *(code **)(puStack_108 + -0x7ba0);" (assignment_expression "pcVar25 = *(code **)(puStack_108 + -0x7ba0)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(puStack_108 + -0x7ba0)" (* "*") (cast_expression "(code **)(puStack_108 + -0x7ba0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_108 + -0x7ba0)" (( "(") (binary_expression "puStack_108 + -0x7ba0" (identifier "puStack_108") (+ "+") (number_literal "-0x7ba0")) () ")"))))) (; ";")) (expression_statement "uVar34 = 0x11e6f8;" (assignment_expression "uVar34 = 0x11e6f8" (identifier "uVar34") (= "=") (number_literal "0x11e6f8")) (; ";")) (expression_statement "piVar11 = piStack_7c;" (assignment_expression "piVar11 = piStack_7c" (identifier "piVar11") (= "=") (identifier "piStack_7c")) (; ";")) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar22 = *(int **)(pcVar25 + 0x3d334);" (assignment_expression "piVar22 = *(int **)(pcVar25 + 0x3d334)" (identifier "piVar22") (= "=") (pointer_expression "*(int **)(pcVar25 + 0x3d334)" (* "*") (cast_expression "(int **)(pcVar25 + 0x3d334)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x3d334)" (( "(") (binary_expression "pcVar25 + 0x3d334" (identifier "pcVar25") (+ "+") (number_literal "0x3d334")) () ")"))))) (; ";")) (expression_statement "iVar3 = piVar11[0x1a];" (assignment_expression "iVar3 = piVar11[0x1a]" (identifier "iVar3") (= "=") (subscript_expression "piVar11[0x1a]" (identifier "piVar11") ([ "[") (number_literal "0x1a") (] "]"))) (; ";")) (expression_statement "uVar18 = piVar11[0x19] + 1;" (assignment_expression "uVar18 = piVar11[0x19] + 1" (identifier "uVar18") (= "=") (binary_expression "piVar11[0x19] + 1" (subscript_expression "piVar11[0x19]" (identifier "piVar11") ([ "[") (number_literal "0x19") (] "]")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar2 = piVar11[0x1b];" (assignment_expression "iVar2 = piVar11[0x1b]" (identifier "iVar2") (= "=") (subscript_expression "piVar11[0x1b]" (identifier "piVar11") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (expression_statement "iVar15 = iVar3 + 1;" (assignment_expression "iVar15 = iVar3 + 1" (identifier "iVar15") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iStack_144 = *piVar22;" (assignment_expression "iStack_144 = *piVar22" (identifier "iStack_144") (= "=") (pointer_expression "*piVar22" (* "*") (identifier "piVar22"))) (; ";")) (expression_statement "uVar12 = *(undefined4 *)(*piVar11 + 0xc);" (assignment_expression "uVar12 = *(undefined4 *)(*piVar11 + 0xc)" (identifier "uVar12") (= "=") (pointer_expression "*(undefined4 *)(*piVar11 + 0xc)" (* "*") (cast_expression "(undefined4 *)(*piVar11 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar11 + 0xc)" (( "(") (binary_expression "*piVar11 + 0xc" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18];" (assignment_expression "piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18]" (subscript_expression "piVar11[0x18]" (identifier "piVar11") ([ "[") (number_literal "0x18") (] "]")) (= "=") (binary_expression "(uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18]" (call_expression "(uint)(uVar18 < (uint)piVar11[0x19])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar18 < (uint)piVar11[0x19])" (( "(") (binary_expression "uVar18 < (uint)piVar11[0x19]" (identifier "uVar18") (< "<") (cast_expression "(uint)piVar11[0x19]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar11[0x19]" (identifier "piVar11") ([ "[") (number_literal "0x19") (] "]")))) () ")"))) (+ "+") (subscript_expression "piVar11[0x18]" (identifier "piVar11") ([ "[") (number_literal "0x18") (] "]")))) (; ";")) (expression_statement "piVar11[0x19] = uVar18;" (assignment_expression "piVar11[0x19] = uVar18" (subscript_expression "piVar11[0x19]" (identifier "piVar11") ([ "[") (number_literal "0x19") (] "]")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "piVar11[0x1a] = iVar15;" (assignment_expression "piVar11[0x1a] = iVar15" (subscript_expression "piVar11[0x1a]" (identifier "piVar11") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "pppppppcStack_140 = param_2;" (assignment_expression "pppppppcStack_140 = param_2" (identifier "pppppppcStack_140") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pppppppcStack_13c = pppppppcVar24;" (assignment_expression "pppppppcStack_13c = pppppppcVar24" (identifier "pppppppcStack_13c") (= "=") (identifier "pppppppcVar24")) (; ";")) (expression_statement "pppppppcStack_138 = pppppppcVar26;" (assignment_expression "pppppppcStack_138 = pppppppcVar26" (identifier "pppppppcStack_138") (= "=") (identifier "pppppppcVar26")) (; ";")) (expression_statement "pppppppcStack_134 = pppppppcVar29;" (assignment_expression "pppppppcStack_134 = pppppppcVar29" (identifier "pppppppcStack_134") (= "=") (identifier "pppppppcVar29")) (; ";")) (expression_statement "pppppppcStack_130 = unaff_s4;" (assignment_expression "pppppppcStack_130 = unaff_s4" (identifier "pppppppcStack_130") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "ppppppcStack_12c = unaff_s5;" (assignment_expression "ppppppcStack_12c = unaff_s5" (identifier "ppppppcStack_12c") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "ppppppcStack_128 = unaff_s6;" (assignment_expression "ppppppcStack_128 = unaff_s6" (identifier "ppppppcStack_128") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "pppppppcStack_124 = unaff_s7;" (assignment_expression "pppppppcStack_124 = unaff_s7" (identifier "pppppppcStack_124") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "pppppppcStack_120 = unaff_s8;" (assignment_expression "pppppppcStack_120 = unaff_s8" (identifier "pppppppcStack_120") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "uStack_11c = uVar34;" (assignment_expression "uStack_11c = uVar34" (identifier "uStack_11c") (= "=") (identifier "uVar34")) (; ";")) (if_statement "if (iVar15 < iVar2) {\n    piVar16 = (int *)(iVar15 * 0x10);\n    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);\n    iVar15 = *piVar19;\n    if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }\n  else {\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }" (if "if") (parenthesized_expression "(iVar15 < iVar2)" (( "(") (binary_expression "iVar15 < iVar2" (identifier "iVar15") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n    piVar16 = (int *)(iVar15 * 0x10);\n    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);\n    iVar15 = *piVar19;\n    if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }\n  }" ({ "{") (expression_statement "piVar16 = (int *)(iVar15 * 0x10);" (assignment_expression "piVar16 = (int *)(iVar15 * 0x10)" (identifier "piVar16") (= "=") (cast_expression "(int *)(iVar15 * 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 * 0x10)" (( "(") (binary_expression "iVar15 * 0x10" (identifier "iVar15") (* "*") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);" (assignment_expression "piVar19 = (int *)(piVar11[0x1c] + (int)piVar16)" (identifier "piVar19") (= "=") (cast_expression "(int *)(piVar11[0x1c] + (int)piVar16)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar11[0x1c] + (int)piVar16)" (( "(") (binary_expression "piVar11[0x1c] + (int)piVar16" (subscript_expression "piVar11[0x1c]" (identifier "piVar11") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16"))) () ")")))) (; ";")) (expression_statement "iVar15 = *piVar19;" (assignment_expression "iVar15 = *piVar19" (identifier "iVar15") (= "=") (pointer_expression "*piVar19" (* "*") (identifier "piVar19"))) (; ";")) (if_statement "if (iVar15 < 1) {\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }" (if "if") (parenthesized_expression "(iVar15 < 1)" (( "(") (binary_expression "iVar15 < 1" (identifier "iVar15") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }\n      goto LAB_0011e884;\n    }" ({ "{") (if_statement "if ((iVar15 == 0) && (piVar19[1] != 0)) {\n        iVar3 = 0;\n      }\n      else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }" (if "if") (parenthesized_expression "((iVar15 == 0) && (piVar19[1] != 0))" (( "(") (binary_expression "(iVar15 == 0) && (piVar19[1] != 0)" (parenthesized_expression "(iVar15 == 0)" (( "(") (binary_expression "iVar15 == 0" (identifier "iVar15") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar19[1] != 0)" (( "(") (binary_expression "piVar19[1] != 0" (subscript_expression "piVar19[1]" (identifier "piVar19") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        iVar3 = 0;\n      }" ({ "{") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }" (else "else") (compound_statement "{\n        iVar3 = iVar3 + 2;\n        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;\n        do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));\n        iVar3 = 0;\n      }" ({ "{") (expression_statement "iVar3 = iVar3 + 2;" (assignment_expression "iVar3 = iVar3 + 2" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 2" (identifier "iVar3") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;" (assignment_expression "iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10" (identifier "iVar15") (= "=") (binary_expression "(int)piVar16 + piVar11[0x1c] + -0x10" (binary_expression "(int)piVar16 + piVar11[0x1c]" (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16")) (+ "+") (subscript_expression "piVar11[0x1c]" (identifier "piVar11") ([ "[") (number_literal "0x1c") (] "]"))) (+ "+") (number_literal "-0x10"))) (; ";")) (do_statement "do {\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));" (do "do") (compound_statement "{\n          piVar11[0x1a] = iVar3;\n          if (iVar3 == iVar2) goto LAB_0011e7d4;\n          piVar16 = *(int **)(iVar15 + 0x20);\n          iVar3 = iVar3 + 1;\n          piVar19 = (int *)(iVar15 + 0x24);\n          iVar15 = iVar15 + 0x10;\n          if (0 < (int)piVar16) goto LAB_0011e880;\n        }" ({ "{") (expression_statement "piVar11[0x1a] = iVar3;" (assignment_expression "piVar11[0x1a] = iVar3" (subscript_expression "piVar11[0x1a]" (identifier "piVar11") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 == iVar2) goto LAB_0011e7d4;" (if "if") (parenthesized_expression "(iVar3 == iVar2)" (( "(") (binary_expression "iVar3 == iVar2" (identifier "iVar3") (== "==") (identifier "iVar2")) () ")")) (goto_statement "goto LAB_0011e7d4;" (goto "goto") (statement_identifier "LAB_0011e7d4") (; ";"))) (expression_statement "piVar16 = *(int **)(iVar15 + 0x20);" (assignment_expression "piVar16 = *(int **)(iVar15 + 0x20)" (identifier "piVar16") (= "=") (pointer_expression "*(int **)(iVar15 + 0x20)" (* "*") (cast_expression "(int **)(iVar15 + 0x20)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 0x20)" (( "(") (binary_expression "iVar15 + 0x20" (identifier "iVar15") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar19 = (int *)(iVar15 + 0x24);" (assignment_expression "piVar19 = (int *)(iVar15 + 0x24)" (identifier "piVar19") (= "=") (cast_expression "(int *)(iVar15 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x24)" (( "(") (binary_expression "iVar15 + 0x24" (identifier "iVar15") (+ "+") (number_literal "0x24")) () ")")))) (; ";")) (expression_statement "iVar15 = iVar15 + 0x10;" (assignment_expression "iVar15 = iVar15 + 0x10" (identifier "iVar15") (= "=") (binary_expression "iVar15 + 0x10" (identifier "iVar15") (+ "+") (number_literal "0x10"))) (; ";")) (if_statement "if (0 < (int)piVar16) goto LAB_0011e880;" (if "if") (parenthesized_expression "(0 < (int)piVar16)" (( "(") (binary_expression "0 < (int)piVar16" (number_literal "0") (< "<") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16"))) () ")")) (goto_statement "goto LAB_0011e880;" (goto "goto") (statement_identifier "LAB_0011e880") (; ";"))) (} "}")) (while "while") (parenthesized_expression "((piVar16 != (int *)0x0) || (*piVar19 == 0))" (( "(") (binary_expression "(piVar16 != (int *)0x0) || (*piVar19 == 0)" (parenthesized_expression "(piVar16 != (int *)0x0)" (( "(") (binary_expression "piVar16 != (int *)0x0" (identifier "piVar16") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*piVar19 == 0)" (( "(") (binary_expression "*piVar19 == 0" (pointer_expression "*piVar19" (* "*") (identifier "piVar19")) (== "==") (number_literal "0")) () ")"))) () ")")) (; ";")) (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (} "}")))) (goto_statement "goto LAB_0011e884;" (goto "goto") (statement_identifier "LAB_0011e884") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }" (else "else") (compound_statement "{\nLAB_0011e7d4:\n    piVar16 = piVar11 + 1;\n    iVar3 = FUN_0011dc88(uVar12);\n    if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }\n    if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }\n    iVar2 = piVar11[0x1b];\n    iVar3 = piVar11[0xe];\n    iVar15 = piVar11[0xd];\n    if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }\n    iVar2 = iVar2 << 4;\n    piVar16 = (int *)0x0;\n    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);\n    if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }\nLAB_0011e87c:\n    piVar11[0x1a] = 0;\n  }" ({ "{") (labeled_statement "LAB_0011e7d4:\n    piVar16 = piVar11 + 1;" (statement_identifier "LAB_0011e7d4") (: ":") (expression_statement "piVar16 = piVar11 + 1;" (assignment_expression "piVar16 = piVar11 + 1" (identifier "piVar16") (= "=") (binary_expression "piVar11 + 1" (identifier "piVar11") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "iVar3 = FUN_0011dc88(uVar12);" (assignment_expression "iVar3 = FUN_0011dc88(uVar12)" (identifier "iVar3") (= "=") (call_expression "FUN_0011dc88(uVar12)" (identifier "FUN_0011dc88") (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")")))) (; ";")) (if_statement "if (iVar3 != 100) {\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }" (if "if") (parenthesized_expression "(iVar3 != 100)" (( "(") (binary_expression "iVar3 != 100" (identifier "iVar3") (!= "!=") (number_literal "100")) () ")")) (compound_statement "{\n      piVar11[0x16] = 1;\n      goto LAB_0011e884;\n    }" ({ "{") (expression_statement "piVar11[0x16] = 1;" (assignment_expression "piVar11[0x16] = 1" (subscript_expression "piVar11[0x16]" (identifier "piVar11") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0011e884;" (goto "goto") (statement_identifier "LAB_0011e884") (; ";")) (} "}"))) (if_statement "if (piVar11[0x13] != 0) {\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }" (if "if") (parenthesized_expression "(piVar11[0x13] != 0)" (( "(") (binary_expression "piVar11[0x13] != 0" (subscript_expression "piVar11[0x13]" (identifier "piVar11") ([ "[") (number_literal "0x13") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar15 = piVar11[0xc];\n      iVar3 = piVar11[0x14];\n      piVar16 = (int *)piVar11[0xb];\n      iVar2 = iVar15;\n      if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }\n      iVar4 = (**(code **)(pcVar25 + 0x3d324))();\n      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }\n    }" ({ "{") (expression_statement "iVar15 = piVar11[0xc];" (assignment_expression "iVar15 = piVar11[0xc]" (identifier "iVar15") (= "=") (subscript_expression "piVar11[0xc]" (identifier "piVar11") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "iVar3 = piVar11[0x14];" (assignment_expression "iVar3 = piVar11[0x14]" (identifier "iVar3") (= "=") (subscript_expression "piVar11[0x14]" (identifier "piVar11") ([ "[") (number_literal "0x14") (] "]"))) (; ";")) (expression_statement "piVar16 = (int *)piVar11[0xb];" (assignment_expression "piVar16 = (int *)piVar11[0xb]" (identifier "piVar16") (= "=") (cast_expression "(int *)piVar11[0xb]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar11[0xb]" (identifier "piVar11") ([ "[") (number_literal "0xb") (] "]")))) (; ";")) (expression_statement "iVar2 = iVar15;" (assignment_expression "iVar2 = iVar15" (identifier "iVar2") (= "=") (identifier "iVar15")) (; ";")) (if_statement "if (iVar3 < iVar15) {\n        iVar2 = iVar3;\n      }" (if "if") (parenthesized_expression "(iVar3 < iVar15)" (( "(") (binary_expression "iVar3 < iVar15" (identifier "iVar3") (< "<") (identifier "iVar15")) () ")")) (compound_statement "{\n        iVar2 = iVar3;\n      }" ({ "{") (expression_statement "iVar2 = iVar3;" (assignment_expression "iVar2 = iVar3" (identifier "iVar2") (= "=") (identifier "iVar3")) (; ";")) (} "}"))) (expression_statement "iVar4 = (**(code **)(pcVar25 + 0x3d324))();" (assignment_expression "iVar4 = (**(code **)(pcVar25 + 0x3d324))()" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar25 + 0x3d324))()" (parenthesized_expression "(**(code **)(pcVar25 + 0x3d324))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x3d324)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x3d324)" (* "*") (cast_expression "(code **)(pcVar25 + 0x3d324)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x3d324)" (( "(") (binary_expression "pcVar25 + 0x3d324" (identifier "pcVar25") (+ "+") (number_literal "0x3d324")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }" (if "if") (parenthesized_expression "((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15))))" (( "(") (binary_expression "(iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))" (parenthesized_expression "(iVar4 < 0)" (( "(") (binary_expression "iVar4 < 0" (identifier "iVar4") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((iVar4 == 0 && (iVar3 < iVar15)))" (( "(") (parenthesized_expression "(iVar4 == 0 && (iVar3 < iVar15))" (( "(") (binary_expression "iVar4 == 0 && (iVar3 < iVar15)" (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar3 < iVar15)" (( "(") (binary_expression "iVar3 < iVar15" (identifier "iVar3") (< "<") (identifier "iVar15")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        iVar3 = 0;\n        piVar11[0x16] = 1;\n        goto LAB_0011e884;\n      }" ({ "{") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar11[0x16] = 1;" (assignment_expression "piVar11[0x16] = 1" (subscript_expression "piVar11[0x16]" (identifier "piVar11") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0011e884;" (goto "goto") (statement_identifier "LAB_0011e884") (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar2 = piVar11[0x1b];" (assignment_expression "iVar2 = piVar11[0x1b]" (identifier "iVar2") (= "=") (subscript_expression "piVar11[0x1b]" (identifier "piVar11") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (expression_statement "iVar3 = piVar11[0xe];" (assignment_expression "iVar3 = piVar11[0xe]" (identifier "iVar3") (= "=") (subscript_expression "piVar11[0xe]" (identifier "piVar11") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (expression_statement "iVar15 = piVar11[0xd];" (assignment_expression "iVar15 = piVar11[0xd]" (identifier "iVar15") (= "=") (subscript_expression "piVar11[0xd]" (identifier "piVar11") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (if_statement "if (iVar2 < 2) {\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }" (if "if") (parenthesized_expression "(iVar2 < 2)" (( "(") (binary_expression "iVar2 < 2" (identifier "iVar2") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      iVar2 = 2;\n      piVar16 = piVar11 + 0x1c;\n      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);\n      if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }\n      iVar2 = piVar11[0x1b];\n    }" ({ "{") (expression_statement "iVar2 = 2;" (assignment_expression "iVar2 = 2" (identifier "iVar2") (= "=") (number_literal "2")) (; ";")) (expression_statement "piVar16 = piVar11 + 0x1c;" (assignment_expression "piVar16 = piVar11 + 0x1c" (identifier "piVar16") (= "=") (binary_expression "piVar11 + 0x1c" (identifier "piVar11") (+ "+") (number_literal "0x1c"))) (; ";")) (expression_statement "iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);" (assignment_expression "iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b)" (identifier "iVar4") (= "=") (call_expression "(*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b)" (parenthesized_expression "(*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88)" (* "*") (cast_expression "(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0x3d024) + -0x5e88)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x3d024) + -0x5e88" (pointer_expression "*(int *)(pcVar25 + 0x3d024)" (* "*") (cast_expression "(int *)(pcVar25 + 0x3d024)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x3d024)" (( "(") (binary_expression "pcVar25 + 0x3d024" (identifier "pcVar25") (+ "+") (number_literal "0x3d024")) () ")")))) (+ "+") (number_literal "-0x5e88")) () ")")))) () ")")) (argument_list "(piVar11 + 0x1b)" (( "(") (binary_expression "piVar11 + 0x1b" (identifier "piVar11") (+ "+") (number_literal "0x1b")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0011ec20:\n        iVar3 = 7;\n        goto LAB_0011e884;\n      }" ({ "{") (labeled_statement "LAB_0011ec20:\n        iVar3 = 7;" (statement_identifier "LAB_0011ec20") (: ":") (expression_statement "iVar3 = 7;" (assignment_expression "iVar3 = 7" (identifier "iVar3") (= "=") (number_literal "7")) (; ";"))) (goto_statement "goto LAB_0011e884;" (goto "goto") (statement_identifier "LAB_0011e884") (; ";")) (} "}"))) (expression_statement "iVar2 = piVar11[0x1b];" (assignment_expression "iVar2 = piVar11[0x1b]" (identifier "iVar2") (= "=") (subscript_expression "piVar11[0x1b]" (identifier "piVar11") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (} "}"))) (expression_statement "iVar2 = iVar2 << 4;" (assignment_expression "iVar2 = iVar2 << 4" (identifier "iVar2") (= "=") (binary_expression "iVar2 << 4" (identifier "iVar2") (<< "<<") (number_literal "4"))) (; ";")) (expression_statement "piVar16 = (int *)0x0;" (assignment_expression "piVar16 = (int *)0x0" (identifier "piVar16") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);" (call_expression "(**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c])" (parenthesized_expression "(**(code **)(pcVar25 + 0x3d2bc))" (( "(") (pointer_expression "**(code **)(pcVar25 + 0x3d2bc)" (* "*") (pointer_expression "*(code **)(pcVar25 + 0x3d2bc)" (* "*") (cast_expression "(code **)(pcVar25 + 0x3d2bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x3d2bc)" (( "(") (binary_expression "pcVar25 + 0x3d2bc" (identifier "pcVar25") (+ "+") (number_literal "0x3d2bc")) () ")"))))) () ")")) (argument_list "(piVar11[0x1c])" (( "(") (subscript_expression "piVar11[0x1c]" (identifier "piVar11") ([ "[") (number_literal "0x1c") (] "]")) () ")"))) (; ";")) (if_statement "if (0 < iVar3) {\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }" (if "if") (parenthesized_expression "(0 < iVar3)" (( "(") (binary_expression "0 < iVar3" (number_literal "0") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n      uStack_14c = 0;\n      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);\n      iStack_150 = 0;\n      iVar4 = (*pcVar27)(iVar15,&iStack_150);\n      iVar30 = *(int *)(pcVar25 + 0x3d024);\nLAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];\n      piVar19 = (int *)piVar9[1];\n      iVar2 = *piVar9;\n      piVar16 = (int *)((int)piVar19 + 1);\n      piVar9[1] = (int)piVar16;\n      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;\n      if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }\n    }" ({ "{") (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" (identifier "uStack_14c") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);" (assignment_expression "pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74)" (identifier "pcVar27") (= "=") (cast_expression "(code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0x3cf64) + 0xf74)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x3cf64) + 0xf74" (pointer_expression "*(int *)(pcVar25 + 0x3cf64)" (* "*") (cast_expression "(int *)(pcVar25 + 0x3cf64)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x3cf64)" (( "(") (binary_expression "pcVar25 + 0x3cf64" (identifier "pcVar25") (+ "+") (number_literal "0x3cf64")) () ")")))) (+ "+") (number_literal "0xf74")) () ")")))) (; ";")) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" (identifier "iStack_150") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = (*pcVar27)(iVar15,&iStack_150);" (assignment_expression "iVar4 = (*pcVar27)(iVar15,&iStack_150)" (identifier "iVar4") (= "=") (call_expression "(*pcVar27)(iVar15,&iStack_150)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar15,&iStack_150)" (( "(") (identifier "iVar15") (, ",") (pointer_expression "&iStack_150" (& "&") (identifier "iStack_150")) () ")")))) (; ";")) (expression_statement "iVar30 = *(int *)(pcVar25 + 0x3d024);" (assignment_expression "iVar30 = *(int *)(pcVar25 + 0x3d024)" (identifier "iVar30") (= "=") (pointer_expression "*(int *)(pcVar25 + 0x3d024)" (* "*") (cast_expression "(int *)(pcVar25 + 0x3d024)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x3d024)" (( "(") (binary_expression "pcVar25 + 0x3d024" (identifier "pcVar25") (+ "+") (number_literal "0x3d024")) () ")"))))) (; ";")) (labeled_statement "LAB_0011e97c:\n      piVar9 = (int *)piVar11[0x1c];" (statement_identifier "LAB_0011e97c") (: ":") (expression_statement "piVar9 = (int *)piVar11[0x1c];" (assignment_expression "piVar9 = (int *)piVar11[0x1c]" (identifier "piVar9") (= "=") (cast_expression "(int *)piVar11[0x1c]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar11[0x1c]" (identifier "piVar11") ([ "[") (number_literal "0x1c") (] "]")))) (; ";"))) (expression_statement "piVar19 = (int *)piVar9[1];" (assignment_expression "piVar19 = (int *)piVar9[1]" (identifier "piVar19") (= "=") (cast_expression "(int *)piVar9[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "iVar2 = *piVar9;" (assignment_expression "iVar2 = *piVar9" (identifier "iVar2") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (expression_statement "piVar16 = (int *)((int)piVar19 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar19 + 1)" (identifier "piVar16") (= "=") (cast_expression "(int *)((int)piVar19 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar19 + 1)" (( "(") (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar19")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar9[1] = (int)piVar16;" (assignment_expression "piVar9[1] = (int)piVar16" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16"))) (; ";")) (expression_statement "*piVar9 = (uint)(piVar16 < piVar19) + iVar2;" (assignment_expression "*piVar9 = (uint)(piVar16 < piVar19) + iVar2" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (binary_expression "(uint)(piVar16 < piVar19) + iVar2" (call_expression "(uint)(piVar16 < piVar19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar16 < piVar19)" (( "(") (binary_expression "piVar16 < piVar19" (identifier "piVar16") (< "<") (identifier "piVar19")) () ")"))) (+ "+") (identifier "iVar2"))) (; ";")) (if_statement "if (iVar4 < iVar3) {\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }" (if "if") (parenthesized_expression "(iVar4 < iVar3)" (( "(") (binary_expression "iVar4 < iVar3" (identifier "iVar4") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n        uStack_14c = 0;\n        iStack_150 = 0;\n        piVar16 = &iStack_150;\n        iVar33 = (*pcVar27)(iVar15 + iVar4);\n        iVar33 = iVar33 + iVar4;\n        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }\n        if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }\n        if (iVar3 <= iVar33) goto LAB_0011e87c;\n        uStack_14c = 0;\n        iStack_150 = 0;\n        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n        iVar4 = iVar33 + iVar4;\n        goto LAB_0011e97c;\n      }" ({ "{") (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" (identifier "uStack_14c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" (identifier "iStack_150") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar16 = &iStack_150;" (assignment_expression "piVar16 = &iStack_150" (identifier "piVar16") (= "=") (pointer_expression "&iStack_150" (& "&") (identifier "iStack_150"))) (; ";")) (expression_statement "iVar33 = (*pcVar27)(iVar15 + iVar4);" (assignment_expression "iVar33 = (*pcVar27)(iVar15 + iVar4)" (identifier "iVar33") (= "=") (call_expression "(*pcVar27)(iVar15 + iVar4)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar15 + iVar4)" (( "(") (binary_expression "iVar15 + iVar4" (identifier "iVar15") (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (expression_statement "iVar33 = iVar33 + iVar4;" (assignment_expression "iVar33 = iVar33 + iVar4" (identifier "iVar33") (= "=") (binary_expression "iVar33 + iVar4" (identifier "iVar33") (+ "+") (identifier "iVar4"))) (; ";")) (if_statement "if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }" (if "if") (parenthesized_expression "((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c))))" (( "(") (binary_expression "(0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))" (parenthesized_expression "(0 < iStack_150)" (( "(") (binary_expression "0 < iStack_150" (number_literal "0") (< "<") (identifier "iStack_150")) () ")")) (|| "||") (parenthesized_expression "((iStack_150 == 0 && (1 < uStack_14c)))" (( "(") (parenthesized_expression "(iStack_150 == 0 && (1 < uStack_14c))" (( "(") (binary_expression "iStack_150 == 0 && (1 < uStack_14c)" (binary_expression "iStack_150 == 0" (identifier "iStack_150") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(1 < uStack_14c)" (( "(") (binary_expression "1 < uStack_14c" (number_literal "1") (< "<") (identifier "uStack_14c")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x14);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x14) = uVar17;\n          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);\n          iVar2 = piVar11[0x1c];\n          uVar18 = *(uint *)(iVar2 + 0x1c);\n          uVar17 = uVar18 + 1;\n          *(uint *)(iVar2 + 0x1c) = uVar17;\n          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n          iVar4 = piVar11[0x1c];\n          piVar19 = *(int **)(iVar4 + 0xc);\n          iVar2 = *(int *)(iVar4 + 8);\n          piVar16 = (int *)((int)piVar19 + 1);\n          *(int **)(iVar4 + 0xc) = piVar16;\n          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n          if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }\n          goto LAB_0011e87c;\n        }" ({ "{") (expression_statement "iVar2 = piVar11[0x1c];" (assignment_expression "iVar2 = piVar11[0x1c]" (identifier "iVar2") (= "=") (subscript_expression "piVar11[0x1c]" (identifier "piVar11") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "uVar18 = *(uint *)(iVar2 + 0x14);" (assignment_expression "uVar18 = *(uint *)(iVar2 + 0x14)" (identifier "uVar18") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x14)" (* "*") (cast_expression "(uint *)(iVar2 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x14)" (( "(") (binary_expression "iVar2 + 0x14" (identifier "iVar2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar17 = uVar18 + 1;" (assignment_expression "uVar17 = uVar18 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar2 + 0x14) = uVar17;" (assignment_expression "*(uint *)(iVar2 + 0x14) = uVar17" (pointer_expression "*(uint *)(iVar2 + 0x14)" (* "*") (cast_expression "(uint *)(iVar2 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x14)" (( "(") (binary_expression "iVar2 + 0x14" (identifier "iVar2") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "*(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);" (assignment_expression "*(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10)" (pointer_expression "*(uint *)(iVar2 + 0x10)" (* "*") (cast_expression "(uint *)(iVar2 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "(uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10)" (call_expression "(uint)(uVar17 < uVar18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 < uVar18)" (( "(") (binary_expression "uVar17 < uVar18" (identifier "uVar17") (< "<") (identifier "uVar18")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar2 + 0x10)" (* "*") (cast_expression "(int *)(iVar2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (expression_statement "iVar2 = piVar11[0x1c];" (assignment_expression "iVar2 = piVar11[0x1c]" (identifier "iVar2") (= "=") (subscript_expression "piVar11[0x1c]" (identifier "piVar11") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "uVar18 = *(uint *)(iVar2 + 0x1c);" (assignment_expression "uVar18 = *(uint *)(iVar2 + 0x1c)" (identifier "uVar18") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar17 = uVar18 + 1;" (assignment_expression "uVar17 = uVar18 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar2 + 0x1c) = uVar17;" (assignment_expression "*(uint *)(iVar2 + 0x1c) = uVar17" (pointer_expression "*(uint *)(iVar2 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "*(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);" (assignment_expression "*(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18)" (pointer_expression "*(uint *)(iVar2 + 0x18)" (* "*") (cast_expression "(uint *)(iVar2 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x18)" (( "(") (binary_expression "iVar2 + 0x18" (identifier "iVar2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "(uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18)" (call_expression "(uint)(uVar17 < uVar18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 < uVar18)" (( "(") (binary_expression "uVar17 < uVar18" (identifier "uVar17") (< "<") (identifier "uVar18")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar2 + 0x18)" (* "*") (cast_expression "(int *)(iVar2 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x18)" (( "(") (binary_expression "iVar2 + 0x18" (identifier "iVar2") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (expression_statement "iVar4 = piVar11[0x1c];" (assignment_expression "iVar4 = piVar11[0x1c]" (identifier "iVar4") (= "=") (subscript_expression "piVar11[0x1c]" (identifier "piVar11") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "piVar19 = *(int **)(iVar4 + 0xc);" (assignment_expression "piVar19 = *(int **)(iVar4 + 0xc)" (identifier "piVar19") (= "=") (pointer_expression "*(int **)(iVar4 + 0xc)" (* "*") (cast_expression "(int **)(iVar4 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(iVar4 + 8);" (assignment_expression "iVar2 = *(int *)(iVar4 + 8)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar4 + 8)" (* "*") (cast_expression "(int *)(iVar4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "piVar16 = (int *)((int)piVar19 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar19 + 1)" (identifier "piVar16") (= "=") (cast_expression "(int *)((int)piVar19 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar19 + 1)" (( "(") (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar19")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(int **)(iVar4 + 0xc) = piVar16;" (assignment_expression "*(int **)(iVar4 + 0xc) = piVar16" (pointer_expression "*(int **)(iVar4 + 0xc)" (* "*") (cast_expression "(int **)(iVar4 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "piVar16")) (; ";")) (expression_statement "*(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;" (assignment_expression "*(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2" (pointer_expression "*(uint *)(iVar4 + 8)" (* "*") (cast_expression "(uint *)(iVar4 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(uint)(piVar16 < piVar19) + iVar2" (call_expression "(uint)(piVar16 < piVar19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar16 < piVar19)" (( "(") (binary_expression "piVar16 < piVar19" (identifier "piVar16") (< "<") (identifier "piVar19")) () ")"))) (+ "+") (identifier "iVar2"))) (; ";")) (if_statement "if (iVar33 < iVar3) {\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }" (if "if") (parenthesized_expression "(iVar33 < iVar3)" (( "(") (binary_expression "iVar33 < iVar3" (identifier "iVar33") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n            uStack_14c = 0;\n            iStack_150 = 0;\n            piVar16 = &iStack_150;\n            iVar28 = (*pcVar27)(iVar15 + iVar33);\n            iVar4 = 0x10;\n            iVar33 = iVar33 + iVar28;\n            goto LAB_0011eaec;\n          }" ({ "{") (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" (identifier "uStack_14c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" (identifier "iStack_150") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar16 = &iStack_150;" (assignment_expression "piVar16 = &iStack_150" (identifier "piVar16") (= "=") (pointer_expression "&iStack_150" (& "&") (identifier "iStack_150"))) (; ";")) (expression_statement "iVar28 = (*pcVar27)(iVar15 + iVar33);" (assignment_expression "iVar28 = (*pcVar27)(iVar15 + iVar33)" (identifier "iVar28") (= "=") (call_expression "(*pcVar27)(iVar15 + iVar33)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar15 + iVar33)" (( "(") (binary_expression "iVar15 + iVar33" (identifier "iVar15") (+ "+") (identifier "iVar33")) () ")")))) (; ";")) (expression_statement "iVar4 = 0x10;" (assignment_expression "iVar4 = 0x10" (identifier "iVar4") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "iVar33 = iVar33 + iVar28;" (assignment_expression "iVar33 = iVar33 + iVar28" (identifier "iVar33") (= "=") (binary_expression "iVar33 + iVar28" (identifier "iVar33") (+ "+") (identifier "iVar28"))) (; ";")) (goto_statement "goto LAB_0011eaec;" (goto "goto") (statement_identifier "LAB_0011eaec") (; ";")) (} "}"))) (goto_statement "goto LAB_0011e87c;" (goto "goto") (statement_identifier "LAB_0011e87c") (; ";")) (} "}"))) (if_statement "if (iStack_150 != 0 || uStack_14c != 0) {\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }" (if "if") (parenthesized_expression "(iStack_150 != 0 || uStack_14c != 0)" (( "(") (binary_expression "iStack_150 != 0 || uStack_14c != 0" (binary_expression "iStack_150 != 0" (identifier "iStack_150") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "uStack_14c != 0" (identifier "uStack_14c") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n          if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }\n          goto LAB_0011e87c;\n        }" ({ "{") (if_statement "if ((iStack_150 == 0) && (uStack_14c == 1)) {\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }\n          else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }" (if "if") (parenthesized_expression "((iStack_150 == 0) && (uStack_14c == 1))" (( "(") (binary_expression "(iStack_150 == 0) && (uStack_14c == 1)" (parenthesized_expression "(iStack_150 == 0)" (( "(") (binary_expression "iStack_150 == 0" (identifier "iStack_150") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uStack_14c == 1)" (( "(") (binary_expression "uStack_14c == 1" (identifier "uStack_14c") (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }\n          }" ({ "{") (if_statement "if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }" (if "if") (parenthesized_expression "(iVar33 < iVar3)" (( "(") (binary_expression "iVar33 < iVar3" (identifier "iVar33") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n              uStack_14c = 0;\n              iStack_150 = 0;\n              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n              iVar33 = iVar33 + iVar2;\n              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }\n              goto LAB_0011ec20;\n            }" ({ "{") (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" (identifier "uStack_14c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" (identifier "iStack_150") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);" (assignment_expression "iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150)" (identifier "iVar2") (= "=") (call_expression "(*pcVar27)(iVar15 + iVar33,&iStack_150)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar15 + iVar33,&iStack_150)" (( "(") (binary_expression "iVar15 + iVar33" (identifier "iVar15") (+ "+") (identifier "iVar33")) (, ",") (pointer_expression "&iStack_150" (& "&") (identifier "iStack_150")) () ")")))) (; ";")) (expression_statement "iVar33 = iVar33 + iVar2;" (assignment_expression "iVar33 = iVar33 + iVar2" (identifier "iVar33") (= "=") (binary_expression "iVar33 + iVar2" (identifier "iVar33") (+ "+") (identifier "iVar2"))) (; ";")) (while_statement "while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }" (while "while") (parenthesized_expression "((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)))" (( "(") (parenthesized_expression "(uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))" (( "(") (comma_expression "uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)" (assignment_expression "uVar18 = uStack_14c" (identifier "uVar18") (= "=") (identifier "uStack_14c")) (, ",") (comma_expression "iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)" (assignment_expression "iVar2 = uStack_14c + 2" (identifier "iVar2") (= "=") (binary_expression "uStack_14c + 2" (identifier "uStack_14c") (+ "+") (number_literal "2"))) (, ",") (binary_expression "iVar2 <= piVar11[0x1b] ||\n                     (piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)" (binary_expression "iVar2 <= piVar11[0x1b]" (identifier "iVar2") (<= "<=") (subscript_expression "piVar11[0x1b]" (identifier "piVar11") ([ "[") (number_literal "0x1b") (] "]"))) (|| "||") (parenthesized_expression "(piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0)" (( "(") (comma_expression "piVar16 = piVar11 + 0x1c,\n                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0" (assignment_expression "piVar16 = piVar11 + 0x1c" (identifier "piVar16") (= "=") (binary_expression "piVar11 + 0x1c" (identifier "piVar11") (+ "+") (number_literal "0x1c"))) (, ",") (comma_expression "iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b)" (identifier "iVar4") (= "=") (call_expression "(*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b)" (parenthesized_expression "(*(code *)(iVar30 + -0x5e88))" (( "(") (pointer_expression "*(code *)(iVar30 + -0x5e88)" (* "*") (cast_expression "(code *)(iVar30 + -0x5e88)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar30 + -0x5e88)" (( "(") (binary_expression "iVar30 + -0x5e88" (identifier "iVar30") (+ "+") (number_literal "-0x5e88")) () ")")))) () ")")) (argument_list "(piVar11 + 0x1b)" (( "(") (binary_expression "piVar11 + 0x1b" (identifier "piVar11") (+ "+") (number_literal "0x1b")) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")))) () ")"))))) () ")")) () ")")) (compound_statement "{\n                iVar4 = (uVar18 + 1) * 0x10;\n                piVar19 = (int *)(piVar11[0x1c] + iVar4);\n                piVar9 = (int *)piVar19[1];\n                iVar2 = *piVar19;\n                piVar16 = (int *)((int)piVar9 + 1);\n                piVar19[1] = (int)piVar16;\n                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;\n                while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }\n                if (iVar3 <= iVar33) goto LAB_0011e87c;\n                uStack_14c = 0;\n                iStack_150 = 0;\n                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                iVar33 = iVar2 + iVar33;\n              }" ({ "{") (expression_statement "iVar4 = (uVar18 + 1) * 0x10;" (assignment_expression "iVar4 = (uVar18 + 1) * 0x10" (identifier "iVar4") (= "=") (binary_expression "(uVar18 + 1) * 0x10" (parenthesized_expression "(uVar18 + 1)" (( "(") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "0x10"))) (; ";")) (expression_statement "piVar19 = (int *)(piVar11[0x1c] + iVar4);" (assignment_expression "piVar19 = (int *)(piVar11[0x1c] + iVar4)" (identifier "piVar19") (= "=") (cast_expression "(int *)(piVar11[0x1c] + iVar4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar11[0x1c] + iVar4)" (( "(") (binary_expression "piVar11[0x1c] + iVar4" (subscript_expression "piVar11[0x1c]" (identifier "piVar11") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (expression_statement "piVar9 = (int *)piVar19[1];" (assignment_expression "piVar9 = (int *)piVar19[1]" (identifier "piVar9") (= "=") (cast_expression "(int *)piVar19[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar19[1]" (identifier "piVar19") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "iVar2 = *piVar19;" (assignment_expression "iVar2 = *piVar19" (identifier "iVar2") (= "=") (pointer_expression "*piVar19" (* "*") (identifier "piVar19"))) (; ";")) (expression_statement "piVar16 = (int *)((int)piVar9 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar9 + 1)" (identifier "piVar16") (= "=") (cast_expression "(int *)((int)piVar9 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar9 + 1)" (( "(") (binary_expression "(int)piVar9 + 1" (cast_expression "(int)piVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar9")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar19[1] = (int)piVar16;" (assignment_expression "piVar19[1] = (int)piVar16" (subscript_expression "piVar19[1]" (identifier "piVar19") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)piVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar16"))) (; ";")) (expression_statement "*piVar19 = (uint)(piVar16 < piVar9) + iVar2;" (assignment_expression "*piVar19 = (uint)(piVar16 < piVar9) + iVar2" (pointer_expression "*piVar19" (* "*") (identifier "piVar19")) (= "=") (binary_expression "(uint)(piVar16 < piVar9) + iVar2" (call_expression "(uint)(piVar16 < piVar9)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar16 < piVar9)" (( "(") (binary_expression "piVar16 < piVar9" (identifier "piVar16") (< "<") (identifier "piVar9")) () ")"))) (+ "+") (identifier "iVar2"))) (; ";")) (while_statement "while( true ) {\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                  if (iVar3 <= iVar33) goto LAB_0011e87c;\n                  uStack_14c = 0;\n                  iStack_150 = 0;\n                  piVar16 = &iStack_150;\n                  iVar28 = (*pcVar27)(iVar15 + iVar33);\n                  iVar33 = iVar33 + iVar28;\nLAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }\n                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;\n                  iVar2 = piVar11[0x1c] + iVar4;\n                  uVar18 = *(uint *)(iVar2 + 0xc);\n                  uVar17 = uVar18 + 1;\n                  *(uint *)(iVar2 + 0xc) = uVar17;\n                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);\n                  iVar28 = piVar11[0x1c];\n                  piVar19 = *(int **)(iVar28 + 0xc);\n                  iVar2 = *(int *)(iVar28 + 8);\n                  piVar16 = (int *)((int)piVar19 + 1);\n                  *(int **)(iVar28 + 0xc) = piVar16;\n                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n                }" ({ "{") (if_statement "if (iVar3 <= iVar33) goto LAB_0011e87c;" (if "if") (parenthesized_expression "(iVar3 <= iVar33)" (( "(") (binary_expression "iVar3 <= iVar33" (identifier "iVar3") (<= "<=") (identifier "iVar33")) () ")")) (goto_statement "goto LAB_0011e87c;" (goto "goto") (statement_identifier "LAB_0011e87c") (; ";"))) (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" (identifier "uStack_14c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" (identifier "iStack_150") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar16 = &iStack_150;" (assignment_expression "piVar16 = &iStack_150" (identifier "piVar16") (= "=") (pointer_expression "&iStack_150" (& "&") (identifier "iStack_150"))) (; ";")) (expression_statement "iVar28 = (*pcVar27)(iVar15 + iVar33);" (assignment_expression "iVar28 = (*pcVar27)(iVar15 + iVar33)" (identifier "iVar28") (= "=") (call_expression "(*pcVar27)(iVar15 + iVar33)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar15 + iVar33)" (( "(") (binary_expression "iVar15 + iVar33" (identifier "iVar15") (+ "+") (identifier "iVar33")) () ")")))) (; ";")) (expression_statement "iVar33 = iVar33 + iVar28;" (assignment_expression "iVar33 = iVar33 + iVar28" (identifier "iVar33") (= "=") (binary_expression "iVar33 + iVar28" (identifier "iVar33") (+ "+") (identifier "iVar28"))) (; ";")) (labeled_statement "LAB_0011eaec:\n                  if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }" (statement_identifier "LAB_0011eaec") (: ":") (if_statement "if (iStack_150 == 0 && uStack_14c == 0) {\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }" (if "if") (parenthesized_expression "(iStack_150 == 0 && uStack_14c == 0)" (( "(") (binary_expression "iStack_150 == 0 && uStack_14c == 0" (binary_expression "iStack_150 == 0" (identifier "iStack_150") (== "==") (number_literal "0")) (&& "&&") (binary_expression "uStack_14c == 0" (identifier "uStack_14c") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n                    if (iVar3 <= iVar33) goto LAB_0011e87c;\n                    uStack_14c = 0;\n                    iStack_150 = 0;\n                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);\n                    iVar4 = iVar4 + iVar33;\n                    goto LAB_0011e97c;\n                  }" ({ "{") (if_statement "if (iVar3 <= iVar33) goto LAB_0011e87c;" (if "if") (parenthesized_expression "(iVar3 <= iVar33)" (( "(") (binary_expression "iVar3 <= iVar33" (identifier "iVar3") (<= "<=") (identifier "iVar33")) () ")")) (goto_statement "goto LAB_0011e87c;" (goto "goto") (statement_identifier "LAB_0011e87c") (; ";"))) (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" (identifier "uStack_14c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" (identifier "iStack_150") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);" (assignment_expression "iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150)" (identifier "iVar4") (= "=") (call_expression "(*pcVar27)(iVar15 + iVar33,&iStack_150)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar15 + iVar33,&iStack_150)" (( "(") (binary_expression "iVar15 + iVar33" (identifier "iVar15") (+ "+") (identifier "iVar33")) (, ",") (pointer_expression "&iStack_150" (& "&") (identifier "iStack_150")) () ")")))) (; ";")) (expression_statement "iVar4 = iVar4 + iVar33;" (assignment_expression "iVar4 = iVar4 + iVar33" (identifier "iVar4") (= "=") (binary_expression "iVar4 + iVar33" (identifier "iVar4") (+ "+") (identifier "iVar33"))) (; ";")) (goto_statement "goto LAB_0011e97c;" (goto "goto") (statement_identifier "LAB_0011e97c") (; ";")) (} "}")))) (if_statement "if ((iStack_150 == 0) && (uStack_14c == 1)) break;" (if "if") (parenthesized_expression "((iStack_150 == 0) && (uStack_14c == 1))" (( "(") (binary_expression "(iStack_150 == 0) && (uStack_14c == 1)" (parenthesized_expression "(iStack_150 == 0)" (( "(") (binary_expression "iStack_150 == 0" (identifier "iStack_150") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uStack_14c == 1)" (( "(") (binary_expression "uStack_14c == 1" (identifier "uStack_14c") (== "==") (number_literal "1")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar2 = piVar11[0x1c] + iVar4;" (assignment_expression "iVar2 = piVar11[0x1c] + iVar4" (identifier "iVar2") (= "=") (binary_expression "piVar11[0x1c] + iVar4" (subscript_expression "piVar11[0x1c]" (identifier "piVar11") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (identifier "iVar4"))) (; ";")) (expression_statement "uVar18 = *(uint *)(iVar2 + 0xc);" (assignment_expression "uVar18 = *(uint *)(iVar2 + 0xc)" (identifier "uVar18") (= "=") (pointer_expression "*(uint *)(iVar2 + 0xc)" (* "*") (cast_expression "(uint *)(iVar2 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar17 = uVar18 + 1;" (assignment_expression "uVar17 = uVar18 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar2 + 0xc) = uVar17;" (assignment_expression "*(uint *)(iVar2 + 0xc) = uVar17" (pointer_expression "*(uint *)(iVar2 + 0xc)" (* "*") (cast_expression "(uint *)(iVar2 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "*(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);" (assignment_expression "*(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8)" (pointer_expression "*(uint *)(iVar2 + 8)" (* "*") (cast_expression "(uint *)(iVar2 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8)" (call_expression "(uint)(uVar17 < uVar18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 < uVar18)" (( "(") (binary_expression "uVar17 < uVar18" (identifier "uVar17") (< "<") (identifier "uVar18")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar2 + 8)" (* "*") (cast_expression "(int *)(iVar2 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (expression_statement "iVar28 = piVar11[0x1c];" (assignment_expression "iVar28 = piVar11[0x1c]" (identifier "iVar28") (= "=") (subscript_expression "piVar11[0x1c]" (identifier "piVar11") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "piVar19 = *(int **)(iVar28 + 0xc);" (assignment_expression "piVar19 = *(int **)(iVar28 + 0xc)" (identifier "piVar19") (= "=") (pointer_expression "*(int **)(iVar28 + 0xc)" (* "*") (cast_expression "(int **)(iVar28 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar28 + 0xc)" (( "(") (binary_expression "iVar28 + 0xc" (identifier "iVar28") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(iVar28 + 8);" (assignment_expression "iVar2 = *(int *)(iVar28 + 8)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar28 + 8)" (* "*") (cast_expression "(int *)(iVar28 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 8)" (( "(") (binary_expression "iVar28 + 8" (identifier "iVar28") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "piVar16 = (int *)((int)piVar19 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar19 + 1)" (identifier "piVar16") (= "=") (cast_expression "(int *)((int)piVar19 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar19 + 1)" (( "(") (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar19")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(int **)(iVar28 + 0xc) = piVar16;" (assignment_expression "*(int **)(iVar28 + 0xc) = piVar16" (pointer_expression "*(int **)(iVar28 + 0xc)" (* "*") (cast_expression "(int **)(iVar28 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar28 + 0xc)" (( "(") (binary_expression "iVar28 + 0xc" (identifier "iVar28") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "piVar16")) (; ";")) (expression_statement "*(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;" (assignment_expression "*(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2" (pointer_expression "*(uint *)(iVar28 + 8)" (* "*") (cast_expression "(uint *)(iVar28 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar28 + 8)" (( "(") (binary_expression "iVar28 + 8" (identifier "iVar28") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(uint)(piVar16 < piVar19) + iVar2" (call_expression "(uint)(piVar16 < piVar19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar16 < piVar19)" (( "(") (binary_expression "piVar16 < piVar19" (identifier "piVar16") (< "<") (identifier "piVar19")) () ")"))) (+ "+") (identifier "iVar2"))) (; ";")) (} "}"))) (if_statement "if (iVar3 <= iVar33) goto LAB_0011e87c;" (if "if") (parenthesized_expression "(iVar3 <= iVar33)" (( "(") (binary_expression "iVar3 <= iVar33" (identifier "iVar3") (<= "<=") (identifier "iVar33")) () ")")) (goto_statement "goto LAB_0011e87c;" (goto "goto") (statement_identifier "LAB_0011e87c") (; ";"))) (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" (identifier "uStack_14c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" (identifier "iStack_150") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);" (assignment_expression "iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150)" (identifier "iVar2") (= "=") (call_expression "(*pcVar27)(iVar15 + iVar33,&iStack_150)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar15 + iVar33,&iStack_150)" (( "(") (binary_expression "iVar15 + iVar33" (identifier "iVar15") (+ "+") (identifier "iVar33")) (, ",") (pointer_expression "&iStack_150" (& "&") (identifier "iStack_150")) () ")")))) (; ";")) (expression_statement "iVar33 = iVar2 + iVar33;" (assignment_expression "iVar33 = iVar2 + iVar33" (identifier "iVar33") (= "=") (binary_expression "iVar2 + iVar33" (identifier "iVar2") (+ "+") (identifier "iVar33"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0011ec20;" (goto "goto") (statement_identifier "LAB_0011ec20") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }" (else "else") (compound_statement "{\n            iVar2 = piVar11[0x1c];\n            uVar18 = *(uint *)(iVar2 + 0x1c);\n            uVar17 = uVar18 + 1;\n            *(uint *)(iVar2 + 0x1c) = uVar17;\n            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);\n            iVar4 = piVar11[0x1c];\n            piVar19 = *(int **)(iVar4 + 0xc);\n            iVar2 = *(int *)(iVar4 + 8);\n            piVar16 = (int *)((int)piVar19 + 1);\n            *(int **)(iVar4 + 0xc) = piVar16;\n            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;\n            if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }\n          }" ({ "{") (expression_statement "iVar2 = piVar11[0x1c];" (assignment_expression "iVar2 = piVar11[0x1c]" (identifier "iVar2") (= "=") (subscript_expression "piVar11[0x1c]" (identifier "piVar11") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "uVar18 = *(uint *)(iVar2 + 0x1c);" (assignment_expression "uVar18 = *(uint *)(iVar2 + 0x1c)" (identifier "uVar18") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar17 = uVar18 + 1;" (assignment_expression "uVar17 = uVar18 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar18 + 1" (identifier "uVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar2 + 0x1c) = uVar17;" (assignment_expression "*(uint *)(iVar2 + 0x1c) = uVar17" (pointer_expression "*(uint *)(iVar2 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "*(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);" (assignment_expression "*(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18)" (pointer_expression "*(uint *)(iVar2 + 0x18)" (* "*") (cast_expression "(uint *)(iVar2 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x18)" (( "(") (binary_expression "iVar2 + 0x18" (identifier "iVar2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "(uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18)" (call_expression "(uint)(uVar17 < uVar18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 < uVar18)" (( "(") (binary_expression "uVar17 < uVar18" (identifier "uVar17") (< "<") (identifier "uVar18")) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar2 + 0x18)" (* "*") (cast_expression "(int *)(iVar2 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x18)" (( "(") (binary_expression "iVar2 + 0x18" (identifier "iVar2") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (expression_statement "iVar4 = piVar11[0x1c];" (assignment_expression "iVar4 = piVar11[0x1c]" (identifier "iVar4") (= "=") (subscript_expression "piVar11[0x1c]" (identifier "piVar11") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "piVar19 = *(int **)(iVar4 + 0xc);" (assignment_expression "piVar19 = *(int **)(iVar4 + 0xc)" (identifier "piVar19") (= "=") (pointer_expression "*(int **)(iVar4 + 0xc)" (* "*") (cast_expression "(int **)(iVar4 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(iVar4 + 8);" (assignment_expression "iVar2 = *(int *)(iVar4 + 8)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar4 + 8)" (* "*") (cast_expression "(int *)(iVar4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "piVar16 = (int *)((int)piVar19 + 1);" (assignment_expression "piVar16 = (int *)((int)piVar19 + 1)" (identifier "piVar16") (= "=") (cast_expression "(int *)((int)piVar19 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar19 + 1)" (( "(") (binary_expression "(int)piVar19 + 1" (cast_expression "(int)piVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar19")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(int **)(iVar4 + 0xc) = piVar16;" (assignment_expression "*(int **)(iVar4 + 0xc) = piVar16" (pointer_expression "*(int **)(iVar4 + 0xc)" (* "*") (cast_expression "(int **)(iVar4 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "piVar16")) (; ";")) (expression_statement "*(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;" (assignment_expression "*(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2" (pointer_expression "*(uint *)(iVar4 + 8)" (* "*") (cast_expression "(uint *)(iVar4 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 8)" (( "(") (binary_expression "iVar4 + 8" (identifier "iVar4") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(uint)(piVar16 < piVar19) + iVar2" (call_expression "(uint)(piVar16 < piVar19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar16 < piVar19)" (( "(") (binary_expression "piVar16 < piVar19" (identifier "piVar16") (< "<") (identifier "piVar19")) () ")"))) (+ "+") (identifier "iVar2"))) (; ";")) (if_statement "if (iVar33 < iVar3) {\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }" (if "if") (parenthesized_expression "(iVar33 < iVar3)" (( "(") (binary_expression "iVar33 < iVar3" (identifier "iVar33") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n              uStack_14c = 0;\n              iStack_150 = 0;\n              piVar16 = &iStack_150;\n              iVar28 = (*pcVar27)(iVar15 + iVar33);\n              iVar4 = 0x10;\n              iVar33 = iVar33 + iVar28;\n              goto LAB_0011eaec;\n            }" ({ "{") (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" (identifier "uStack_14c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" (identifier "iStack_150") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar16 = &iStack_150;" (assignment_expression "piVar16 = &iStack_150" (identifier "piVar16") (= "=") (pointer_expression "&iStack_150" (& "&") (identifier "iStack_150"))) (; ";")) (expression_statement "iVar28 = (*pcVar27)(iVar15 + iVar33);" (assignment_expression "iVar28 = (*pcVar27)(iVar15 + iVar33)" (identifier "iVar28") (= "=") (call_expression "(*pcVar27)(iVar15 + iVar33)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar15 + iVar33)" (( "(") (binary_expression "iVar15 + iVar33" (identifier "iVar15") (+ "+") (identifier "iVar33")) () ")")))) (; ";")) (expression_statement "iVar4 = 0x10;" (assignment_expression "iVar4 = 0x10" (identifier "iVar4") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "iVar33 = iVar33 + iVar28;" (assignment_expression "iVar33 = iVar33 + iVar28" (identifier "iVar33") (= "=") (binary_expression "iVar33 + iVar28" (identifier "iVar33") (+ "+") (identifier "iVar28"))) (; ";")) (goto_statement "goto LAB_0011eaec;" (goto "goto") (statement_identifier "LAB_0011eaec") (; ";")) (} "}"))) (} "}")))) (goto_statement "goto LAB_0011e87c;" (goto "goto") (statement_identifier "LAB_0011e87c") (; ";")) (} "}"))) (if_statement "if (iVar3 <= iVar33) goto LAB_0011e87c;" (if "if") (parenthesized_expression "(iVar3 <= iVar33)" (( "(") (binary_expression "iVar3 <= iVar33" (identifier "iVar3") (<= "<=") (identifier "iVar33")) () ")")) (goto_statement "goto LAB_0011e87c;" (goto "goto") (statement_identifier "LAB_0011e87c") (; ";"))) (expression_statement "uStack_14c = 0;" (assignment_expression "uStack_14c = 0" (identifier "uStack_14c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_150 = 0;" (assignment_expression "iStack_150 = 0" (identifier "iStack_150") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);" (assignment_expression "iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150)" (identifier "iVar4") (= "=") (call_expression "(*pcVar27)(iVar15 + iVar33,&iStack_150)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(iVar15 + iVar33,&iStack_150)" (( "(") (binary_expression "iVar15 + iVar33" (identifier "iVar15") (+ "+") (identifier "iVar33")) (, ",") (pointer_expression "&iStack_150" (& "&") (identifier "iStack_150")) () ")")))) (; ";")) (expression_statement "iVar4 = iVar33 + iVar4;" (assignment_expression "iVar4 = iVar33 + iVar4" (identifier "iVar4") (= "=") (binary_expression "iVar33 + iVar4" (identifier "iVar33") (+ "+") (identifier "iVar4"))) (; ";")) (goto_statement "goto LAB_0011e97c;" (goto "goto") (statement_identifier "LAB_0011e97c") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0011e87c:\n    piVar11[0x1a] = 0;" (statement_identifier "LAB_0011e87c") (: ":") (expression_statement "piVar11[0x1a] = 0;" (assignment_expression "piVar11[0x1a] = 0" (subscript_expression "piVar11[0x1a]" (identifier "piVar11") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0")) (; ";"))) (} "}")))) (labeled_statement "LAB_0011e880:\n  iVar3 = 0;" (statement_identifier "LAB_0011e880") (: ":") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_0011e884:\n  if (iStack_144 == *piVar22) {\n    return iVar3;\n  }" (statement_identifier "LAB_0011e884") (: ":") (if_statement "if (iStack_144 == *piVar22) {\n    return iVar3;\n  }" (if "if") (parenthesized_expression "(iStack_144 == *piVar22)" (( "(") (binary_expression "iStack_144 == *piVar22" (identifier "iStack_144") (== "==") (pointer_expression "*piVar22" (* "*") (identifier "piVar22"))) () ")")) (compound_statement "{\n    return iVar3;\n  }" ({ "{") (return_statement "return iVar3;" (return "return") (identifier "iVar3") (; ";")) (} "}")))) (expression_statement "pcVar25 = *(code **)(pcVar25 + 0x3d318);" (assignment_expression "pcVar25 = *(code **)(pcVar25 + 0x3d318)" (identifier "pcVar25") (= "=") (pointer_expression "*(code **)(pcVar25 + 0x3d318)" (* "*") (cast_expression "(code **)(pcVar25 + 0x3d318)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar25 + 0x3d318)" (( "(") (binary_expression "pcVar25 + 0x3d318" (identifier "pcVar25") (+ "+") (number_literal "0x3d318")) () ")"))))) (; ";")) (expression_statement "iVar3 = iStack_144;" (assignment_expression "iVar3 = iStack_144" (identifier "iVar3") (= "=") (identifier "iStack_144")) (; ";")) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" (( "(") (pointer_expression "*pcVar25" (* "*") (identifier "pcVar25")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar15 = piVar16[1];" (assignment_expression "iVar15 = piVar16[1]" (identifier "iVar15") (= "=") (subscript_expression "piVar16[1]" (identifier "piVar16") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if ((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)) {\n    iVar33 = 0;\n    iVar30 = *(int *)(pcVar25 + 0x3ca14);\n    do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));\n  }" (if "if") (parenthesized_expression "((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15))" (( "(") (binary_expression "(piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)" (parenthesized_expression "(piVar16[7] == 0)" (( "(") (binary_expression "piVar16[7] == 0" (subscript_expression "piVar16[7]" (identifier "piVar16") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)" (( "(") (comma_expression "iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15" (assignment_expression "iVar4 = *(int *)(pcVar25 + 0x3ca34)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar25 + 0x3ca34)" (* "*") (cast_expression "(int *)(pcVar25 + 0x3ca34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x3ca34)" (( "(") (binary_expression "pcVar25 + 0x3ca34" (identifier "pcVar25") (+ "+") (number_literal "0x3ca34")) () ")"))))) (, ",") (binary_expression "0 < iVar15" (number_literal "0") (< "<") (identifier "iVar15"))) () ")"))) () ")")) (compound_statement "{\n    iVar33 = 0;\n    iVar30 = *(int *)(pcVar25 + 0x3ca14);\n    do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));\n  }" ({ "{") (expression_statement "iVar33 = 0;" (assignment_expression "iVar33 = 0" (identifier "iVar33") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar30 = *(int *)(pcVar25 + 0x3ca14);" (assignment_expression "iVar30 = *(int *)(pcVar25 + 0x3ca14)" (identifier "iVar30") (= "=") (pointer_expression "*(int *)(pcVar25 + 0x3ca14)" (* "*") (cast_expression "(int *)(pcVar25 + 0x3ca14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x3ca14)" (( "(") (binary_expression "pcVar25 + 0x3ca14" (identifier "pcVar25") (+ "+") (number_literal "0x3ca14")) () ")"))))) (; ";")) (do_statement "do {\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));" (do "do") (compound_statement "{\n      iVar28 = 0;\n      iVar23 = *(int *)(*piVar16 + iVar33 * 4);\n      do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));\n      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }\n      iVar33 = iVar33 + 1;\n    }" ({ "{") (expression_statement "iVar28 = 0;" (assignment_expression "iVar28 = 0" (identifier "iVar28") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar23 = *(int *)(*piVar16 + iVar33 * 4);" (assignment_expression "iVar23 = *(int *)(*piVar16 + iVar33 * 4)" (identifier "iVar23") (= "=") (pointer_expression "*(int *)(*piVar16 + iVar33 * 4)" (* "*") (cast_expression "(int *)(*piVar16 + iVar33 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar16 + iVar33 * 4)" (( "(") (binary_expression "*piVar16 + iVar33 * 4" (pointer_expression "*piVar16" (* "*") (identifier "piVar16")) (+ "+") (binary_expression "iVar33 * 4" (identifier "iVar33") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (do_statement "do {\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      } while ((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));" (do "do") (compound_statement "{\n        iVar5 = FUN_0011d8a8(iVar3,iVar23);\n        if (iVar5 != 0) {\n          return iVar5;\n        }\n      }" ({ "{") (expression_statement "iVar5 = FUN_0011d8a8(iVar3,iVar23);" (assignment_expression "iVar5 = FUN_0011d8a8(iVar3,iVar23)" (identifier "iVar5") (= "=") (call_expression "FUN_0011d8a8(iVar3,iVar23)" (identifier "FUN_0011d8a8") (argument_list "(iVar3,iVar23)" (( "(") (identifier "iVar3") (, ",") (identifier "iVar23") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) {\n          return iVar5;\n        }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          return iVar5;\n        }" ({ "{") (return_statement "return iVar5;" (return "return") (identifier "iVar5") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "((iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0))" (( "(") (binary_expression "(iVar2 != 0) &&\n              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0)" (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0)" (( "(") (comma_expression "iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0" (assignment_expression "iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4)" (identifier "iVar28") (= "=") (call_expression "(*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4)" (parenthesized_expression "(*(code *)(iVar30 + -0x7564))" (( "(") (pointer_expression "*(code *)(iVar30 + -0x7564)" (* "*") (cast_expression "(code *)(iVar30 + -0x7564)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar30 + -0x7564)" (( "(") (binary_expression "iVar30 + -0x7564" (identifier "iVar30") (+ "+") (number_literal "-0x7564")) () ")")))) () ")")) (argument_list "(iVar23,iVar2,param_4)" (( "(") (identifier "iVar23") (, ",") (identifier "iVar2") (, ",") (identifier "param_4") () ")")))) (, ",") (binary_expression "iVar28 < 0" (identifier "iVar28") (< "<") (number_literal "0"))) () ")"))) () ")")) (; ";")) (if_statement "if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }" (if "if") (parenthesized_expression "((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0))" (( "(") (binary_expression "(*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)" (parenthesized_expression "(*(char *)(iVar23 + 4) != '\0')" (( "(") (binary_expression "*(char *)(iVar23 + 4) != '\0'" (pointer_expression "*(char *)(iVar23 + 4)" (* "*") (cast_expression "(char *)(iVar23 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 4)" (( "(") (binary_expression "iVar23 + 4" (identifier "iVar23") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(iVar28 != 0)" (( "(") (binary_expression "iVar28 != 0" (identifier "iVar28") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        (*(code *)(iVar4 + 0x5384))(iVar23);\n      }" ({ "{") (expression_statement "(*(code *)(iVar4 + 0x5384))(iVar23);" (call_expression "(*(code *)(iVar4 + 0x5384))(iVar23)" (parenthesized_expression "(*(code *)(iVar4 + 0x5384))" (( "(") (pointer_expression "*(code *)(iVar4 + 0x5384)" (* "*") (cast_expression "(code *)(iVar4 + 0x5384)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x5384)" (( "(") (binary_expression "iVar4 + 0x5384" (identifier "iVar4") (+ "+") (number_literal "0x5384")) () ")")))) () ")")) (argument_list "(iVar23)" (( "(") (identifier "iVar23") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar33 = iVar33 + 1;" (assignment_expression "iVar33 = iVar33 + 1" (identifier "iVar33") (= "=") (binary_expression "iVar33 + 1" (identifier "iVar33") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((piVar16[7] == 0) && (iVar33 < piVar16[1]))" (( "(") (binary_expression "(piVar16[7] == 0) && (iVar33 < piVar16[1])" (parenthesized_expression "(piVar16[7] == 0)" (( "(") (binary_expression "piVar16[7] == 0" (subscript_expression "piVar16[7]" (identifier "piVar16") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar33 < piVar16[1])" (( "(") (binary_expression "iVar33 < piVar16[1]" (identifier "iVar33") (< "<") (subscript_expression "piVar16[1]" (identifier "piVar16") ([ "[") (number_literal "1") (] "]"))) () ")"))) () ")")) (; ";")) (} "}"))) (expression_statement "(*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))\n            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638);" (call_expression "(*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))\n            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638)" (parenthesized_expression "(*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944)" (* "*") (cast_expression "(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar25 + 0x3c998) + 0x2944)" (( "(") (binary_expression "*(int *)(pcVar25 + 0x3c998) + 0x2944" (pointer_expression "*(int *)(pcVar25 + 0x3c998)" (* "*") (cast_expression "(int *)(pcVar25 + 0x3c998)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x3c998)" (( "(") (binary_expression "pcVar25 + 0x3c998" (identifier "pcVar25") (+ "+") (number_literal "0x3c998")) () ")")))) (+ "+") (number_literal "0x2944")) () ")")))) () ")")) (argument_list "(*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638)" (( "(") (pointer_expression "*piVar16" (* "*") (identifier "piVar16")) (, ",") (identifier "iVar15") (, ",") (identifier "iVar15") (, ",") (binary_expression "*(int *)(pcVar25 + 0x3ca14) + -0x7638" (pointer_expression "*(int *)(pcVar25 + 0x3ca14)" (* "*") (cast_expression "(int *)(pcVar25 + 0x3ca14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar25 + 0x3ca14)" (( "(") (binary_expression "pcVar25 + 0x3ca14" (identifier "pcVar25") (+ "+") (number_literal "0x3ca14")) () ")")))) (+ "+") (number_literal "-0x7638")) () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (labeled_statement "LAB_0011e6ac:\n  iVar2 = 100;" (statement_identifier "LAB_0011e6ac") (: ":") (expression_statement "iVar2 = 100;" (assignment_expression "iVar2 = 100" (identifier "iVar2") (= "=") (number_literal "100")) (; ";"))) (expression_statement "pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4;" (assignment_expression "pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4" (subscript_expression "pppppppcStack_e0[0xd]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "0xd") (] "]")) (= "=") (cast_expression "(code ******)pppppppcStack_f4" (( "(") (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 "pppppppcStack_f4"))) (; ";")) (expression_statement "pppppppcStack_e0[2] = unaff_s6;" (assignment_expression "pppppppcStack_e0[2] = unaff_s6" (subscript_expression "pppppppcStack_e0[2]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "pppppppcStack_e0[0xc] = pppppppcStack_e0[4];" (assignment_expression "pppppppcStack_e0[0xc] = pppppppcStack_e0[4]" (subscript_expression "pppppppcStack_e0[0xc]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "0xc") (] "]")) (= "=") (subscript_expression "pppppppcStack_e0[4]" (identifier "pppppppcStack_e0") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "pppppppcVar29 = param_1;" (assignment_expression "pppppppcVar29 = param_1" (identifier "pppppppcVar29") (= "=") (identifier "param_1")) (; ";")) (goto_statement "goto LAB_0011ddb4;" (goto "goto") (statement_identifier "LAB_0011ddb4") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (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: (pointer_declarator declarator: (identifier))))))))) (parameter_declaration type: (type_identifier) 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: (pointer_declarator declarator: (identifier))))))))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (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: (primitive_type) 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: (pointer_declarator declarator: (identifier))))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (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: (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: (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: (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: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (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: (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: (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: (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: (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: (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: (pointer_declarator declarator: (identifier))))))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator 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: (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: (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: (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: (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: (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: (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: (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: (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: (pointer_declarator declarator: (identifier))))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (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: (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: (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: (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: (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: (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: (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: (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: (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: (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: (pointer_declarator declarator: (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 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 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: (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 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 declarator: (abstract_pointer_declarator)))))))) value: (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 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: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) 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 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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 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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier)))) (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 declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) 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))) (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 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) 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 declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (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: (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 declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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))))) (goto_statement label: (statement_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 declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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 declarator: (abstract_pointer_declarator))))))) value: (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 declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_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: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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: (identifier) right: (cast_expression type: (type_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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (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 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (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 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 declarator: (abstract_pointer_declarator))))))) value: (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: (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)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier)))) 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 declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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 declarator: (abstract_pointer_declarator)))))))) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier)))) right: (cast_expression type: (type_descriptor type: (type_identifier) 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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 declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_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 (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) 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 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 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: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))) right: (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 declarator: (abstract_pointer_declarator)))))))) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (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 declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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 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 declarator: (abstract_pointer_declarator))))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_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: (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 declarator: (abstract_pointer_declarator))))))) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (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: (goto_statement label: (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 (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: (subscript_expression argument: (identifier) index: (number_literal)))))) (identifier) (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))))))) (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 declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_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: (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 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 declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (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: (subscript_expression argument: (identifier) index: (number_literal)))))))) consequence: (compound_statement (expression_statement (assignment_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 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 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: (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: (goto_statement label: (statement_identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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 (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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 declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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 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))) (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 declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (do_statement body: (compound_statement (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 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))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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: (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: (cast_expression type: (type_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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (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 declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_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: (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 declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (parenthesized_expression (pointer_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 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 declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (parenthesized_expression (pointer_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 declarator: (abstract_pointer_declarator))))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (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)))))))))) consequence: (break_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: (number_literal))) (break_statement))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (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))))))) right: (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 declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))))) consequence: (compound_statement (labeled_statement label: (statement_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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (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 (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_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: (cast_expression type: (type_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: (subscript_expression argument: (parenthesized_expression (pointer_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 declarator: (abstract_pointer_declarator))))))) value: (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))) (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: (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 declarator: (abstract_pointer_declarator))))))) value: (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 declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (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: (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: (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 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: (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 (expression_statement (assignment_expression left: (identifier) right: (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 declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (break_statement))) (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) (identifier) (identifier)))) (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: (identifier) right: (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 declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (break_statement)))) 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: (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)))) 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 declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) (while_statement condition: (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) (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (parenthesized_expression (binary_expression left: (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)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (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))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal)))))))) consequence: (goto_statement label: (statement_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: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_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: (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 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 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 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 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)) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_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: (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 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 declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (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: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) 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 (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 declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))))) 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 declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))) right: (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: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_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: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) 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 declarator: (abstract_pointer_declarator)))))))) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))))) consequence: (break_statement))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) consequence: (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 (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 declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (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 declarator: (abstract_pointer_declarator)))))))) value: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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))) (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))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))))) alternative: (else_clause (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 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))))))) (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 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: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (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 declarator: (abstract_pointer_declarator)))))))) value: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (cast_expression type: (type_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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (unary_expression argument: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (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 declarator: (abstract_pointer_declarator)))))))) value: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (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 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 declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (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 declarator: (abstract_pointer_declarator)))))))) value: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (identifier) right: (number_literal))) consequence: (compound_statement (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)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (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 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: (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)))))) (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: (number_literal))) (goto_statement label: (statement_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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_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: (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 declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (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 declarator: (abstract_pointer_declarator)))))))) value: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (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 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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (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 (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: (subscript_expression argument: (identifier) index: (number_literal)))))) (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: (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)))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) 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 declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) 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: (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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 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 declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (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)))) condition: (parenthesized_expression (binary_expression left: (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 declarator: (abstract_pointer_declarator)))))))) value: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (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: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (for_statement condition: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (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: (identifier) right: (identifier))) consequence: (compound_statement (labeled_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 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 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 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))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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 declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (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: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_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: (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 declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (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: (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 declarator: (abstract_pointer_declarator)))))))) value: (number_literal))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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: (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: (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: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) 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: (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (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)))) condition: (parenthesized_expression (binary_expression left: (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))) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_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: (binary_expression left: (binary_expression left: (identifier) 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: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) 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: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (for_statement condition: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))) 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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) 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 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)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) 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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))))) condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_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: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) condition: (parenthesized_expression (true)))))) 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 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)))))) (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 declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier)))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (while_statement condition: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier))))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (number_literal) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (identifier))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (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)))) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (return_statement (number_literal)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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 declarator: (abstract_pointer_declarator))))))) value: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))))

/* WARNING: Type propagation algorithm not settling */

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

{
  byte bVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  code *******pppppppcVar6;
  code ******ppppppcVar7;
  code *******pppppppcVar8;
  int *piVar9;
  code ******ppppppcVar10;
  int *piVar11;
  undefined4 uVar12;
  code *******pppppppcVar13;
  code *pcVar14;
  int iVar15;
  int *piVar16;
  uint uVar17;
  uint uVar18;
  int *piVar19;
  code *pcVar20;
  code *pcVar21;
  int *piVar22;
  int iVar23;
  code *******pppppppcVar24;
  code *pcVar25;
  code *******pppppppcVar26;
  code *pcVar27;
  int iVar28;
  code *******pppppppcVar29;
  code *******unaff_s4;
  int iVar30;
  code ******unaff_s5;
  code ******unaff_s6;
  code *******unaff_s7;
  code ******ppppppcVar31;
  undefined *puVar32;
  code *******unaff_s8;
  int iVar33;
  undefined4 uVar34;
  int iStack_150;
  uint uStack_14c;
  int iStack_144;
  code *******pppppppcStack_140;
  code *******pppppppcStack_13c;
  code *******pppppppcStack_138;
  code *******pppppppcStack_134;
  code *******pppppppcStack_130;
  code ******ppppppcStack_12c;
  code ******ppppppcStack_128;
  code *******pppppppcStack_124;
  code *******pppppppcStack_120;
  undefined4 uStack_11c;
  undefined *puStack_108;
  code *pcStack_fc;
  code *pcStack_f8;
  code *******pppppppcStack_f4;
  code *******pppppppcStack_f0;
  code *pcStack_ec;
  code *******pppppppcStack_e8;
  int iStack_e4;
  code *******pppppppcStack_e0;
  code *******pppppppcStack_dc;
  code *******pppppppcStack_d8;
  code *******pppppppcStack_d4;
  code *******pppppppcStack_d0;
  uint uStack_cc;
  code *******pppppppcStack_c8;
  code *******pppppppcStack_c4;
  code *pcStack_c0;
  uint uStack_bc;
  uint uStack_b8;
  uint uStack_b4;
  code *pcStack_b0;
  code *pcStack_ac;
  code *******pppppppcStack_a8;
  code ******ppppppcStack_a4;
  code *******pppppppcStack_a0;
  code *pcStack_9c;
  int *piStack_98;
  code *****pppppcStack_94;
  code ******ppppppcStack_90;
  code ******ppppppcStack_8c;
  code ******ppppppcStack_88;
  uint uStack_84;
  int *piStack_7c;
  code *******pppppppcStack_78;
  code *******pppppppcStack_74;
  undefined *puStack_70;
  code *******pppppppcStack_6c;
  code *******pppppppcStack_68;
  code *******local_24;
  code ******local_20;
  code *******local_1c;
  
  pppppppcVar26 = (code *******)PTR___stack_chk_guard_0015ba2c;
  local_1c = *(code ********)PTR___stack_chk_guard_0015ba2c;
  if (param_2[0x12] == (code ******)0x0) {
    pppppppcVar24 = (code *******)param_2[10];
  }
  else {
    pppppppcVar24 = (code *******)((int)param_2[0x12] + (int)param_2[0x13]);
  }
  if ((pppppppcVar24 == (code *******)0x0) ||
     ((code *******)((int)param_2[10] + (int)param_2[0xb]) <= pppppppcVar24)) {
    pppppppcVar13 = param_2;
    if (param_2[0xe] == (code ******)0x0) {
      (*(code *)(PTR_LAB_0015b6f8 + 0x5384))(param_2);
      ppppppcVar7 = param_2[8];
      pppppppcVar6 = (code *******)param_2[9];
      if ((int)param_2[4] <= (int)ppppppcVar7) {
        if (param_2[4] != ppppppcVar7) goto LAB_0011da80;
        param_4 = (code *******)((int)pppppppcVar6 + 1);
        if (param_2[5] <= pppppppcVar6) {
          iVar2 = 0;
          goto LAB_0011db18;
        }
      }
      param_4 = (code *******)((int)pppppppcVar6 + 1);
      param_2[9] = (code ******)param_4;
      param_2[8] = (code ******)((int)ppppppcVar7 + (uint)(param_4 < pppppppcVar6));
      iVar2 = FUN_0011c2d4(param_1);
      if (iVar2 == 0) {
        pppppppcVar24 = (code *******)param_2[10];
        goto LAB_0011d91c;
      }
    }
    else {
      param_1 = (code *******)*param_2[0xe];
      (*(code *)PTR_sqlite3_free_0015b620)(param_2[10]);
      param_2[10] = (code ******)0x0;
      puVar32 = PTR_sqlite3_malloc_0015b640;
      if (param_1 == (code *******)0x0) {
LAB_0011da80:
        iVar2 = 0;
      }
      else {
        unaff_s4 = (code *******)param_1[2];
        ppppppcVar7 = *unaff_s4;
        param_2[0x10] = param_1[3];
        pppppppcVar24 = (code *******)((int)ppppppcVar7 + 1);
        param_2[0xf] = param_1[4];
        iVar2 = (*(code *)puVar32)(pppppppcVar24);
        if (iVar2 != 0) {
          pppppppcVar13 = (code *******)unaff_s4[1];
          ppppppcVar7 = (code ******)
                        (*(code *)PTR_memcpy_0015ba30)(iVar2,pppppppcVar13,pppppppcVar24);
          iVar2 = 0;
          param_2[0x13] = (code ******)pppppppcVar24;
          param_2[0xb] = (code ******)pppppppcVar24;
          param_2[0x12] = ppppppcVar7;
          param_2[10] = ppppppcVar7;
          param_2[0xe] = param_2[0xe] + 1;
          goto LAB_0011db18;
        }
LAB_0011dbc4:
        iVar2 = 7;
      }
    }
  }
  else {
LAB_0011d91c:
    param_1 = (code *******)(PTR_LAB_0015b6f8 + 0x5f80);
    pppppppcVar13 = pppppppcVar24;
    iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,0x14);
    if (iVar2 == 0) {
      if ((char)*(code *)pppppppcVar24 < '\0') {
        pppppppcVar13 = (code *******)&local_24;
        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pppppppcVar24);
      }
      else {
        iVar2 = 1;
        local_24 = (code *******)(uint)(byte)*(code *)pppppppcVar24;
      }
      pcVar25 = (code *)((int)pppppppcVar24 + iVar2);
      if ((char)*pcVar25 < '\0') {
        pppppppcVar13 = &local_20;
        iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);
      }
      else {
        iVar2 = 1;
        local_20 = (code ******)(uint)(byte)*pcVar25;
      }
      pppppppcVar24 = (code *******)(pcVar25 + iVar2);
      if (0 < (int)local_20) {
        iVar2 = 0x10b;
        if (((int)param_2[10] + (int)param_2[0xb]) - (int)pppppppcVar24 < (int)local_20)
        goto LAB_0011db18;
        pppppppcVar6 = (code *******)param_2[0x11];
        pppppppcVar13 = (code *******)((int)local_24 >> 0x1f);
        if ((int)local_24 <= (int)pppppppcVar6) {
          param_4 = (code *******)((int)local_24 + (int)local_20);
          pcVar25 = (code *)((int)pppppppcVar13 +
                            (uint)(param_4 < local_24) + ((int)local_20 >> 0x1f));
          pppppppcVar13 = (code *******)(uint)((int)pppppppcVar6 >> 0x1f < (int)pcVar25);
          if ((pppppppcVar13 != (code *******)0x0) ||
             ((pcVar25 == (code *)((int)pppppppcVar6 >> 0x1f) && (pppppppcVar6 < param_4)))) {
            uVar18 = (uint)param_4 >> 0x1f;
            unaff_s4 = (code *******)((int)param_4 * 2);
            param_4 = unaff_s4;
            ppppppcVar7 = (code ******)
                          (*(code *)PTR_sqlite3_realloc64_0015b764)
                                    (param_2[0x10],pppppppcVar13,uVar18 | (int)pcVar25 * 2,unaff_s4)
            ;
            if (ppppppcVar7 == (code ******)0x0) goto LAB_0011dbc4;
            param_2[0x10] = ppppppcVar7;
            param_2[0x11] = (code ******)unaff_s4;
          }
          pppppppcVar13 = pppppppcVar24;
          iVar2 = (*(code *)param_1)(param_2,pppppppcVar24,(int)local_20 + 10);
          if (iVar2 != 0) goto LAB_0011db18;
          pppppppcVar13 = pppppppcVar24;
          (*(code *)PTR_memcpy_0015ba30)
                    ((code *)((int)local_24 + (int)param_2[0x10]),pppppppcVar24,local_20);
          pcVar25 = (code *)((int)pppppppcVar24 + (int)local_20);
          param_2[0xf] = (code ******)((int)local_24 + (int)local_20);
          ppppppcVar7 = (code ******)(uint)(byte)*pcVar25;
          if ((char)*pcVar25 < '\0') {
            pppppppcVar13 = param_2 + 0x13;
            iVar2 = (*(code *)(PTR_LAB_0015b65c + 0x1084))(pcVar25);
            ppppppcVar7 = param_2[0x13];
          }
          else {
            iVar2 = 1;
            param_2[0x13] = ppppppcVar7;
          }
          pppppppcVar24 = (code *******)(pcVar25 + iVar2);
          param_2[0x12] = (code ******)pppppppcVar24;
          param_2[0x14] = (code ******)0x0;
          if ((int)ppppppcVar7 <= (int)param_2[0xb] - ((int)pppppppcVar24 - (int)param_2[10])) {
            iVar2 = 0;
            if (param_2[0xc] != (code ******)0x0) goto LAB_0011db18;
            pppppppcVar24 = (code *******)((int)pppppppcVar24 + (int)ppppppcVar7);
            if (*(code *)((int)pppppppcVar24 + -1) == (code)0x0) goto LAB_0011da80;
          }
        }
      }
      iVar2 = 0x10b;
    }
  }
LAB_0011db18:
  if (local_1c == (code *******)*pppppppcVar26) {
    return iVar2;
  }
  pppppppcVar6 = local_1c;
  puVar32 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  puStack_108 = puVar32 + 0x45928;
  pppppppcStack_68 = unaff_s4;
  pppppppcStack_6c = param_1;
  puStack_70 = (undefined *)pppppppcVar26;
  pppppppcStack_74 = pppppppcVar24;
  pppppppcStack_78 = param_2;
  piStack_98 = *(int **)(puVar32 + 0x3dda4);
  pppppppcStack_c8 = pppppppcVar6;
  pppppppcStack_e0 = pppppppcVar13;
  piStack_7c = (int *)**(int **)(puVar32 + 0x3dda4);
  pppppppcStack_a0 = (code *******)pppppppcVar13[1];
  pppppppcVar29 = param_1;
  if (*(code *)((int)pppppppcVar6 + 0xeb) == (code)0x0) {
    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x26f0);
    iVar2 = 0;
    if (pppppppcStack_a0 != (code *******)0x0) {
LAB_0011dd08:
      ppppppcStack_a4 = pppppppcVar13[3];
      unaff_s6 = pppppppcVar13[2];
      pppppcStack_94 = ppppppcStack_a4[3];
      pcStack_b0 = (code *)(*(int *)(puVar32 + 0x3da4c) + -0x2758);
      pppppppcStack_f0 = (code *******)*pppppppcVar13;
      pcStack_ac = (code *)(*(int *)(puVar32 + 0x3da70) + 0x5384);
      pcStack_f8 = (code *)(*(int *)(puVar32 + 0x3d9d4) + 0xf74);
      uStack_cc = (uint)pppppcStack_94 & 1;
      do {
        pppppppcVar6 = pppppppcStack_c8;
        pppppppcVar13 = pppppppcStack_e0;
        pppppppcVar24 = (code *******)0x0;
        param_2 = pppppppcStack_f0;
        pppppppcVar29 = param_1;
        if (0 < (int)unaff_s6) {
          do {
            pppppppcVar26 = pppppppcVar13;
            pppppppcVar29 = pppppppcVar6;
            if (*(char *)(*param_2 + 1) == '\0') {
              iVar2 = (*pcStack_b0)(pppppppcVar6,*param_2);
              if (iVar2 != 0) goto LAB_0011ddb4;
            }
            else {
              (*pcStack_ac)();
            }
            unaff_s6 = pppppppcVar13[2];
            pppppppcVar24 = (code *******)((int)pppppppcVar24 + 1);
            param_2 = param_2 + 1;
          } while ((int)pppppppcVar24 < (int)unaff_s6);
        }
        param_2 = pppppppcStack_f0;
        pcStack_c0 = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x2944);
        param_4 = (code *******)(*(int *)(puStack_108 + -0x7ed8) + -0x7638);
        (*pcStack_c0)(pppppppcStack_f0,pppppppcStack_a0,unaff_s6,param_4);
        pppppppcStack_e0[2] = (code ******)0x0;
        if ((*param_2)[10] == (code *****)0x0) goto LAB_0011de08;
        pppppppcVar26 = (code *******)(*param_2)[0xf];
        pppppppcStack_e0[0xb] = (code ******)pppppppcVar26;
        param_2 = (code *******)(*param_2)[0x10];
        pppppppcStack_e0[10] = (code ******)param_2;
        if ((*ppppppcStack_a4 != (code *****)0x0) && (((uint)pppppcStack_94 & 0x10) == 0)) {
          iVar2 = 0;
          if (((int)pppppppcVar26 < (int)ppppppcStack_a4[1]) ||
             ((((uint)pppppcStack_94 & 8) == 0 &&
              (iVar2 = 0, (int)ppppppcStack_a4[1] < (int)pppppppcVar26)))) break;
          iVar2 = (**(code **)(puStack_108 + -0x7b94))(param_2);
          if (iVar2 != 0) {
            iVar2 = 0;
            break;
          }
        }
        pppppppcVar13 = pppppppcStack_a0;
        if ((((int)pppppppcStack_a0 < 2) ||
            (ppppppcVar7 = pppppppcStack_f0[1], ppppppcVar7[10] == (code *****)0x0)) ||
           (pppppppcVar26 != (code *******)ppppppcVar7[0xf])) {
LAB_0011df14:
          param_1 = pppppppcVar29;
          pppppppcVar13 = pppppppcStack_e0;
          if (((uint)pppppcStack_94 & 0x22) == 0) {
            if ((*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) ||
               (iVar2 = *(int *)(puStack_108 + -0x7eb8), (*pppppppcStack_f0)[0xe] == (code *****)0x0
               )) {
              param_2 = (code *******)(*pppppppcStack_f0)[0x13];
              pppppppcStack_e0[0xd] = (code ******)param_2;
              ppppppcVar7 = *pppppppcStack_f0;
              pppppppcVar26 = pppppppcVar13;
              pppppppcVar29 = param_1;
              if (ppppppcVar7[0xe] == (code *****)0x0) {
                pppppppcStack_e0[0xc] = (code ******)ppppppcVar7[0x12];
              }
              else {
                pppppppcVar24 = (code *******)ppppppcVar7[0x12];
                ppppppcVar7 = pppppppcStack_e0[4];
                if ((int)pppppppcStack_e0[5] < (int)param_2) {
                  pcVar25 = *(code **)(puStack_108 + -0x7fc0);
                  pppppppcStack_e0[5] = (code ******)((int)param_2 << 1);
                  ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);
                  if (ppppppcVar7 == (code ******)0x0) {
                    iVar2 = 7;
                    pppppppcStack_e0[2] = (code ******)0x1;
                    pppppppcStack_e0[0xc] = pppppppcStack_e0[4];
                    break;
                  }
                  pppppppcVar13[4] = ppppppcVar7;
                }
                (**(code **)(puStack_108 + -0x7b80))(ppppppcVar7,pppppppcVar24,param_2);
                pppppppcStack_e0[0xc] = pppppppcStack_e0[4];
              }
              iVar2 = 100;
              pppppppcStack_e0[2] = (code ******)0x1;
              break;
            }
          }
          else {
            iVar2 = *(int *)(puStack_108 + -0x7eb8);
          }
          unaff_s6 = (code ******)0x1;
          (*(code *)(iVar2 + 0x605c))();
        }
        else {
          pppppppcVar24 = pppppppcStack_f0 + 2;
          unaff_s6 = (code ******)0x1;
          while (iVar2 = (**(code **)(puStack_108 + -0x7b94))
                                   (param_2,ppppppcVar7[0x10],pppppppcVar26),
                param_1 = pppppppcStack_c8, iVar2 == 0) {
            unaff_s6 = (code ******)((int)unaff_s6 + 1);
            if ((((int)pppppppcVar13 <= (int)unaff_s6) ||
                (ppppppcVar7 = *pppppppcVar24, ppppppcVar7[10] == (code *****)0x0)) ||
               (pppppppcVar24 = pppppppcVar24 + 1, pppppppcVar26 != (code *******)ppppppcVar7[0xf]))
            goto LAB_0011e64c;
          }
          pppppppcVar29 = pppppppcVar13;
          if (unaff_s6 == (code ******)0x1) goto LAB_0011df14;
LAB_0011e64c:
          iVar2 = *(int *)(puStack_108 + -0x7eb8);
          pppppppcVar24 = pppppppcStack_f0 + (int)unaff_s6;
          pppppppcVar26 = pppppppcStack_f0;
          do {
            ppppppcVar7 = *pppppppcVar26;
            pppppppcVar26 = pppppppcVar26 + 1;
            (*(code *)(iVar2 + 0x605c))(*(code *)((int)param_1 + 0xeb),ppppppcVar7);
          } while (pppppppcVar24 != pppppppcVar26);
        }
        pppppppcVar24 = pppppppcStack_f0;
        param_4 = pppppppcStack_c4;
        (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s6,pppppppcStack_c4);
        if ((*pppppppcVar24)[0x14] != (code *****)0x0) {
          unaff_s8 = &ppppppcStack_8c;
          unaff_s7 = &ppppppcStack_90;
          pppppppcStack_dc = (code *******)0x0;
          pppppppcStack_d8 = (code *******)0x0;
          pppppppcVar26 = (code *******)((int)pppppppcStack_c8 + 0xeb);
          pppppppcStack_f4 = (code *******)0x0;
          pcStack_fc = (code *)(*(int *)(puStack_108 + -0x7eb8) + 0x6168);
          pcStack_9c = (code *)(*(int *)(puStack_108 + -0x7f54) + 0x5220);
          uStack_b8 = (uint)pppppcStack_94 & 4;
          uStack_bc = (uint)pppppcStack_94 & 2;
          uStack_b4 = (uint)pppppcStack_94 & 0x20;
          pppppppcStack_d4 = unaff_s7;
          pppppppcStack_d0 = unaff_s8;
          do {
            param_1 = pppppppcStack_f0;
            ppppppcStack_90 = (code ******)0x0;
            ppppppcStack_8c = (code ******)0x0;
            ppppppcVar7 = *pppppppcStack_f0;
            pppppppcVar24 = (code *******)ppppppcVar7[0x16];
            param_2 = (code *******)ppppppcVar7[0x17];
            param_4 = pppppppcStack_d0;
            (*pcStack_fc)(pppppppcVar26,ppppppcVar7,pppppppcStack_d4,pppppppcStack_d0);
            if (unaff_s6 == (code ******)0x1) {
              unaff_s5 = (code ******)0x1;
            }
            else {
              ppppppcVar7 = param_1[1];
              unaff_s5 = (code ******)0x1;
              if (((ppppppcVar7[0x14] != (code *****)0x0) &&
                  ((code *******)ppppppcVar7[0x16] == pppppppcVar24)) &&
                 ((code *******)ppppppcVar7[0x17] == param_2)) {
                param_1 = param_1 + 2;
                while( true ) {
                  param_4 = (code *******)0x0;
                  unaff_s5 = (code ******)((int)unaff_s5 + 1);
                  (*pcStack_fc)(pppppppcVar26,ppppppcVar7,0,0);
                  if ((unaff_s5 == unaff_s6) ||
                     (ppppppcVar7 = *param_1, ppppppcVar7[0x14] == (code *****)0x0)) break;
                  param_1 = param_1 + 1;
                  if (((code *******)ppppppcVar7[0x16] != pppppppcVar24) ||
                     ((code *******)ppppppcVar7[0x17] != param_2)) break;
                }
              }
            }
            if (uStack_b8 != 0) {
              param_4 = pppppppcStack_d0;
              (*pcStack_9c)(ppppppcStack_a4[2],0,pppppppcStack_d4,pppppppcStack_d0);
            }
            pppppppcVar13 = pppppppcStack_e0;
            if ((uStack_bc == 0) ||
               (pppppppcVar6 = pppppppcStack_dc, pppppppcVar8 = pppppppcStack_d8,
               0 < (int)ppppppcStack_8c)) {
              if (*(code *)((int)pppppppcStack_c8 + 0xeb) == (code)0x0) {
                unaff_s4 = (code *******)((int)param_2 - (int)pppppppcStack_d8);
                pppppppcVar29 =
                     (code *******)
                     ((int)pppppppcVar24 + (-(uint)(param_2 < unaff_s4) - (int)pppppppcStack_dc));
                pppppppcStack_e8 = unaff_s4;
                if (((int)pppppppcVar29 < 1) &&
                   ((pppppppcVar29 != (code *******)0x0 || (unaff_s4 == (code *******)0x0)))) {
                  iVar2 = 0x10b;
                  if (0 < (int)pppppppcStack_f4) goto LAB_0011ddb4;
LAB_0011e414:
                  iVar2 = 0x10b;
                  unaff_s4 = pppppppcStack_e8;
                  if (pppppppcVar24 != pppppppcVar29) goto LAB_0011ddb4;
                  if (param_2 != pppppppcStack_e8) {
                    iVar2 = 0x10b;
                    goto LAB_0011ddb4;
                  }
                }
              }
              else if ((int)pppppppcStack_f4 < 1) {
                pppppppcStack_e8 = (code *******)((int)param_2 - (int)pppppppcStack_d8);
                pppppppcVar29 =
                     (code *******)
                     ((int)pppppppcVar24 +
                     (-(uint)(param_2 < pppppppcStack_e8) - (int)pppppppcStack_dc));
                if (((int)pppppppcVar29 < 1) &&
                   ((pppppppcVar29 != (code *******)0x0 || (pppppppcStack_e8 == (code *******)0x0)))
                   ) goto LAB_0011e414;
              }
              else {
                pppppppcStack_e8 = (code *******)((int)pppppppcStack_d8 - (int)param_2);
                pppppppcVar29 =
                     (code *******)
                     ((int)pppppppcStack_dc +
                     (-(uint)(pppppppcStack_d8 < pppppppcStack_e8) - (int)pppppppcVar24));
                if (((int)pppppppcVar29 < 1) &&
                   ((iVar2 = 0x10b, unaff_s4 = pppppppcStack_e8, pppppppcVar29 != (code *******)0x0
                    || (pppppppcStack_e8 == (code *******)0x0)))) goto LAB_0011ddb4;
              }
              unaff_s8 = pppppppcStack_e8;
              pppppppcVar6 = pppppppcStack_e8;
              pppppppcVar8 = pppppppcVar29;
              iVar2 = 0;
              do {
                iVar3 = iVar2;
                uVar18 = (int)pppppppcVar8 << 0x19;
                pppppppcVar8 = (code *******)((uint)pppppppcVar8 >> 7);
                pppppppcVar6 = (code *******)(uVar18 | (uint)pppppppcVar6 >> 7);
                iVar2 = iVar3 + 1;
              } while (pppppppcVar8 != (code *******)0x0 || pppppppcVar6 != (code *******)0x0);
              if (uStack_cc != 0) {
                iVar2 = (int)ppppppcStack_8c + iVar3 + 2;
              }
              ppppppcVar7 = pppppppcStack_e0[4];
              unaff_s4 = pppppppcStack_e8;
              unaff_s7 = pppppppcVar29;
              if ((int)pppppppcStack_e0[5] < (int)pppppppcStack_f4 + iVar2) {
                pcVar25 = *(code **)(puStack_108 + -0x7fc0);
                pppppppcStack_e0[5] = (code ******)((int)((int)pppppppcStack_f4 + iVar2) * 2);
                ppppppcVar7 = (code ******)(*pcVar25)(ppppppcVar7);
                unaff_s4 = pppppppcVar13;
                if (ppppppcVar7 == (code ******)0x0) {
                  iVar2 = 7;
                  goto LAB_0011ddb4;
                }
                pppppppcVar13[4] = ppppppcVar7;
              }
              param_1 = pppppppcStack_e0;
              pcVar27 = (code *)((int)pppppppcStack_f4 + (int)ppppppcVar7);
              pcVar25 = pcVar27;
              pppppppcVar13 = unaff_s8;
              pcStack_ec = pcVar27;
              pppppppcVar6 = pppppppcVar24;
              if (uStack_b4 == 0) {
                do {
                  pcVar14 = pcVar25;
                  uVar18 = (int)unaff_s7 << 0x19;
                  unaff_s7 = (code *******)((uint)unaff_s7 >> 7);
                  unaff_s8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);
                  bVar1 = (byte)pppppppcVar13;
                  *pcVar14 = (code)(bVar1 | 0x80);
                  pcVar25 = pcVar14 + 1;
                  pppppppcVar13 = unaff_s8;
                } while (unaff_s7 != (code *******)0x0 || unaff_s8 != (code *******)0x0);
                *pcVar14 = (code)(bVar1 & 0x7f);
                pppppppcVar13 =
                     (code *******)((int)pppppppcStack_f4 + ((int)(pcVar14 + 1) - (int)pcVar27));
                pppppppcStack_f4 = pppppppcVar13;
                pppppppcVar8 = param_2;
                if (uStack_cc != 0) {
                  (**(code **)(puStack_108 + -0x7b80))
                            ((code *)((int)pppppppcVar13 + (int)pppppppcStack_e0[4]),ppppppcStack_90
                             ,ppppppcStack_8c);
                  *(code *)((int)pppppppcVar13 + (int)param_1[4] + (int)ppppppcStack_8c) = (code)0x0
                  ;
                  unaff_s4 = pppppppcVar13;
                  pppppppcStack_f4 = (code *******)((int)pppppppcVar13 + (int)ppppppcStack_8c + 1);
                  pppppppcVar8 = param_2;
                }
              }
              else {
                uVar18 = (uint)(char)*(code *)ppppppcStack_90;
                ppppppcVar31 = (code ******)((int)ppppppcStack_90 + (int)ppppppcStack_8c);
                ppppppcVar7 = ppppppcStack_90;
                if (uVar18 == 1) {
                  pcVar25 = (code *)0x0;
                  param_1 = pppppppcVar29;
                  pppppppcVar6 = pppppppcStack_dc;
                  pppppppcVar8 = pppppppcStack_d8;
                  if (ppppppcStack_90 < ppppppcVar31) {
                    iStack_e4 = 0;
                    goto LAB_0011e284;
                  }
                }
                else {
                  pcVar25 = (code *)0x0;
                  pppppppcVar13 = pppppppcStack_e8;
                  pppppppcVar6 = pppppppcVar29;
                  pcVar14 = pcVar27;
                  if (uVar18 == 2) {
                    do {
                      pcVar25 = pcVar14;
                      uVar18 = (int)pppppppcVar6 << 0x19;
                      pcVar14 = pcVar25 + 1;
                      pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);
                      pppppppcVar8 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);
                      bVar1 = (byte)pppppppcVar13;
                      *pcVar25 = (code)(bVar1 | 0x80);
                      pppppppcVar13 = pppppppcVar8;
                    } while (pppppppcVar6 != (code *******)0x0 || pppppppcVar8 != (code *******)0x0)
                    ;
                    *pcVar25 = (code)(bVar1 & 0x7f);
                    pcVar25 = pcVar14 + (1 - (int)pcVar27);
                    *pcVar14 = (code)0x2;
                    uVar18 = (uint)(char)*(code *)ppppppcStack_90;
                    iStack_e4 = 1;
                    uVar17 = uVar18;
                  }
                  else {
                    iStack_e4 = 0;
                    uVar17 = uVar18;
                  }
                  for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {
                    uVar17 = uVar18 & 0xffffff80;
                    uVar18 = (uint)(char)*(code *)((int)ppppppcVar7 + 1);
                    ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);
                  }
                  if (ppppppcVar7 < ppppppcVar31) {
LAB_0011e284:
                    unaff_s4 = &ppppppcStack_88;
                    unaff_s7 = (code *******)&SUB_00000002;
                    unaff_s8 = (code *******)0xffffff80;
                    pppppppcVar13 = (code *******)((int)ppppppcVar7 + 1);
                    pppppppcStack_a8 = pppppppcVar29;
                    do {
                      iVar2 = (*pcStack_f8)(pppppppcVar13,unaff_s4);
                      ppppppcVar7 = (code ******)((int)pppppppcVar13 + iVar2);
                      uVar18 = (uint)(char)*(code *)ppppppcVar7;
                      uVar17 = uVar18;
                      if (uVar18 == 2) {
                        pcVar21 = pcVar27 + (int)pcVar25;
                        pppppppcVar13 = pppppppcStack_e8;
                        pppppppcVar6 = pppppppcStack_a8;
                        pcVar14 = pcVar21;
                        if (iStack_e4 == 0) {
                          do {
                            pcVar20 = pcVar14;
                            uVar18 = (int)pppppppcVar6 << 0x19;
                            pppppppcVar6 = (code *******)((uint)pppppppcVar6 >> 7);
                            pppppppcVar29 = (code *******)(uVar18 | (uint)pppppppcVar13 >> 7);
                            bVar1 = (byte)pppppppcVar13;
                            *pcVar20 = (code)(bVar1 | 0x80);
                            pppppppcVar13 = pppppppcVar29;
                            pcVar14 = pcVar20 + 1;
                          } while (pppppppcVar6 != (code *******)0x0 ||
                                   pppppppcVar29 != (code *******)0x0);
                          pcVar25 = pcVar20 + 1 + ((int)pcVar25 - (int)pcVar21);
                          *pcVar20 = (code)(bVar1 & 0x7f);
                          pcVar21 = pcVar27 + (int)pcVar25;
                        }
                        pcVar20 = pcVar25 + 1;
                        *pcVar21 = (code)0x1;
                        uVar18 = uStack_84;
                        ppppppcVar10 = ppppppcStack_88;
                        pcVar14 = pcVar27 + (int)pcVar20;
                        do {
                          pcVar25 = pcVar14;
                          uVar17 = (int)ppppppcVar10 << 0x19;
                          pcVar14 = pcVar25 + 1;
                          ppppppcVar10 = (code ******)((uint)ppppppcVar10 >> 7);
                          uVar17 = uVar17 | uVar18 >> 7;
                          bVar1 = (byte)uVar18;
                          *pcVar25 = (code)(bVar1 | 0x80);
                          uVar18 = uVar17;
                        } while (ppppppcVar10 != (code ******)0x0 || uVar17 != 0);
                        iStack_e4 = 1;
                        *pcVar25 = (code)(bVar1 & 0x7f);
                        pcVar25 = pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)) + 1;
                        pcVar27[(int)(pcVar14 + ((int)pcVar20 - (int)(pcVar27 + (int)pcVar20)))] =
                             (code)0x2;
                        uVar18 = (uint)(char)*(code *)ppppppcVar7;
                        uVar17 = uVar18;
                      }
                      for (; (uVar17 & 0xfe) != 0; uVar17 = uVar18 | uVar17) {
                        ppppppcVar7 = (code ******)((int)ppppppcVar7 + 1);
                        uVar17 = uVar18 & 0xffffff80;
                        uVar18 = (uint)(char)*(code *)ppppppcVar7;
                      }
                      pppppppcVar29 = (code *******)((int)ppppppcVar7 + 1);
                      pppppppcVar13 = pppppppcVar29;
                    } while (ppppppcVar7 < ppppppcVar31);
                  }
                  if (iStack_e4 != 0) {
                    pcVar27 = pcStack_ec + (int)pcVar25;
                    pcVar25 = pcVar25 + 1;
                    *pcVar27 = (code)0x0;
                  }
                  param_1 = pppppppcVar29;
                  pppppppcVar6 = pppppppcStack_dc;
                  pppppppcVar8 = pppppppcStack_d8;
                  if (pcVar25 != (code *)0x0) {
                    pppppppcStack_f4 = (code *******)((int)pppppppcStack_f4 + (int)pcVar25);
                    pppppppcVar6 = pppppppcVar24;
                    pppppppcVar8 = param_2;
                  }
                }
              }
            }
            pppppppcStack_d8 = pppppppcVar8;
            pppppppcStack_dc = pppppppcVar6;
            param_2 = pppppppcStack_f0;
            param_4 = pppppppcStack_c4;
            (*pcStack_c0)(pppppppcStack_f0,unaff_s6,unaff_s5,pppppppcStack_c4);
          } while ((*param_2)[0x14] != (code *****)0x0);
          if (0 < (int)pppppppcStack_f4) goto LAB_0011e6ac;
        }
        pppppppcStack_e0[2] = unaff_s6;
      } while( true );
    }
  }
  else {
    pppppppcStack_c4 = (code *******)(*(int *)(puVar32 + 0x3da38) + -0x2674);
    if (pppppppcStack_a0 != (code *******)0x0) goto LAB_0011dd08;
LAB_0011de08:
    iVar2 = 0;
  }
LAB_0011ddb4:
  if (piStack_7c == (int *)*piStack_98) {
    return iVar2;
  }
  pcVar25 = *(code **)(puStack_108 + -0x7ba0);
  uVar34 = 0x11e6f8;
  piVar11 = piStack_7c;
  (*pcVar25)();
  piVar22 = *(int **)(pcVar25 + 0x3d334);
  iVar3 = piVar11[0x1a];
  uVar18 = piVar11[0x19] + 1;
  iVar2 = piVar11[0x1b];
  iVar15 = iVar3 + 1;
  iStack_144 = *piVar22;
  uVar12 = *(undefined4 *)(*piVar11 + 0xc);
  piVar11[0x18] = (uint)(uVar18 < (uint)piVar11[0x19]) + piVar11[0x18];
  piVar11[0x19] = uVar18;
  piVar11[0x1a] = iVar15;
  pppppppcStack_140 = param_2;
  pppppppcStack_13c = pppppppcVar24;
  pppppppcStack_138 = pppppppcVar26;
  pppppppcStack_134 = pppppppcVar29;
  pppppppcStack_130 = unaff_s4;
  ppppppcStack_12c = unaff_s5;
  ppppppcStack_128 = unaff_s6;
  pppppppcStack_124 = unaff_s7;
  pppppppcStack_120 = unaff_s8;
  uStack_11c = uVar34;
  if (iVar15 < iVar2) {
    piVar16 = (int *)(iVar15 * 0x10);
    piVar19 = (int *)(piVar11[0x1c] + (int)piVar16);
    iVar15 = *piVar19;
    if (iVar15 < 1) {
      if ((iVar15 == 0) && (piVar19[1] != 0)) {
        iVar3 = 0;
      }
      else {
        iVar3 = iVar3 + 2;
        iVar15 = (int)piVar16 + piVar11[0x1c] + -0x10;
        do {
          piVar11[0x1a] = iVar3;
          if (iVar3 == iVar2) goto LAB_0011e7d4;
          piVar16 = *(int **)(iVar15 + 0x20);
          iVar3 = iVar3 + 1;
          piVar19 = (int *)(iVar15 + 0x24);
          iVar15 = iVar15 + 0x10;
          if (0 < (int)piVar16) goto LAB_0011e880;
        } while ((piVar16 != (int *)0x0) || (*piVar19 == 0));
        iVar3 = 0;
      }
      goto LAB_0011e884;
    }
  }
  else {
LAB_0011e7d4:
    piVar16 = piVar11 + 1;
    iVar3 = FUN_0011dc88(uVar12);
    if (iVar3 != 100) {
      piVar11[0x16] = 1;
      goto LAB_0011e884;
    }
    if (piVar11[0x13] != 0) {
      iVar15 = piVar11[0xc];
      iVar3 = piVar11[0x14];
      piVar16 = (int *)piVar11[0xb];
      iVar2 = iVar15;
      if (iVar3 < iVar15) {
        iVar2 = iVar3;
      }
      iVar4 = (**(code **)(pcVar25 + 0x3d324))();
      if ((iVar4 < 0) || ((iVar4 == 0 && (iVar3 < iVar15)))) {
        iVar3 = 0;
        piVar11[0x16] = 1;
        goto LAB_0011e884;
      }
    }
    iVar2 = piVar11[0x1b];
    iVar3 = piVar11[0xe];
    iVar15 = piVar11[0xd];
    if (iVar2 < 2) {
      iVar2 = 2;
      piVar16 = piVar11 + 0x1c;
      iVar4 = (*(code *)(*(int *)(pcVar25 + 0x3d024) + -0x5e88))(piVar11 + 0x1b);
      if (iVar4 != 0) {
LAB_0011ec20:
        iVar3 = 7;
        goto LAB_0011e884;
      }
      iVar2 = piVar11[0x1b];
    }
    iVar2 = iVar2 << 4;
    piVar16 = (int *)0x0;
    (**(code **)(pcVar25 + 0x3d2bc))(piVar11[0x1c]);
    if (0 < iVar3) {
      uStack_14c = 0;
      pcVar27 = (code *)(*(int *)(pcVar25 + 0x3cf64) + 0xf74);
      iStack_150 = 0;
      iVar4 = (*pcVar27)(iVar15,&iStack_150);
      iVar30 = *(int *)(pcVar25 + 0x3d024);
LAB_0011e97c:
      piVar9 = (int *)piVar11[0x1c];
      piVar19 = (int *)piVar9[1];
      iVar2 = *piVar9;
      piVar16 = (int *)((int)piVar19 + 1);
      piVar9[1] = (int)piVar16;
      *piVar9 = (uint)(piVar16 < piVar19) + iVar2;
      if (iVar4 < iVar3) {
        uStack_14c = 0;
        iStack_150 = 0;
        piVar16 = &iStack_150;
        iVar33 = (*pcVar27)(iVar15 + iVar4);
        iVar33 = iVar33 + iVar4;
        if ((0 < iStack_150) || ((iStack_150 == 0 && (1 < uStack_14c)))) {
          iVar2 = piVar11[0x1c];
          uVar18 = *(uint *)(iVar2 + 0x14);
          uVar17 = uVar18 + 1;
          *(uint *)(iVar2 + 0x14) = uVar17;
          *(uint *)(iVar2 + 0x10) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x10);
          iVar2 = piVar11[0x1c];
          uVar18 = *(uint *)(iVar2 + 0x1c);
          uVar17 = uVar18 + 1;
          *(uint *)(iVar2 + 0x1c) = uVar17;
          *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);
          iVar4 = piVar11[0x1c];
          piVar19 = *(int **)(iVar4 + 0xc);
          iVar2 = *(int *)(iVar4 + 8);
          piVar16 = (int *)((int)piVar19 + 1);
          *(int **)(iVar4 + 0xc) = piVar16;
          *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;
          if (iVar33 < iVar3) {
            uStack_14c = 0;
            iStack_150 = 0;
            piVar16 = &iStack_150;
            iVar28 = (*pcVar27)(iVar15 + iVar33);
            iVar4 = 0x10;
            iVar33 = iVar33 + iVar28;
            goto LAB_0011eaec;
          }
          goto LAB_0011e87c;
        }
        if (iStack_150 != 0 || uStack_14c != 0) {
          if ((iStack_150 == 0) && (uStack_14c == 1)) {
            if (iVar33 < iVar3) {
              uStack_14c = 0;
              iStack_150 = 0;
              iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);
              iVar33 = iVar33 + iVar2;
              while ((uVar18 = uStack_14c, iVar2 = uStack_14c + 2, iVar2 <= piVar11[0x1b] ||
                     (piVar16 = piVar11 + 0x1c,
                     iVar4 = (*(code *)(iVar30 + -0x5e88))(piVar11 + 0x1b), iVar4 == 0))) {
                iVar4 = (uVar18 + 1) * 0x10;
                piVar19 = (int *)(piVar11[0x1c] + iVar4);
                piVar9 = (int *)piVar19[1];
                iVar2 = *piVar19;
                piVar16 = (int *)((int)piVar9 + 1);
                piVar19[1] = (int)piVar16;
                *piVar19 = (uint)(piVar16 < piVar9) + iVar2;
                while( true ) {
                  if (iVar3 <= iVar33) goto LAB_0011e87c;
                  uStack_14c = 0;
                  iStack_150 = 0;
                  piVar16 = &iStack_150;
                  iVar28 = (*pcVar27)(iVar15 + iVar33);
                  iVar33 = iVar33 + iVar28;
LAB_0011eaec:
                  if (iStack_150 == 0 && uStack_14c == 0) {
                    if (iVar3 <= iVar33) goto LAB_0011e87c;
                    uStack_14c = 0;
                    iStack_150 = 0;
                    iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);
                    iVar4 = iVar4 + iVar33;
                    goto LAB_0011e97c;
                  }
                  if ((iStack_150 == 0) && (uStack_14c == 1)) break;
                  iVar2 = piVar11[0x1c] + iVar4;
                  uVar18 = *(uint *)(iVar2 + 0xc);
                  uVar17 = uVar18 + 1;
                  *(uint *)(iVar2 + 0xc) = uVar17;
                  *(uint *)(iVar2 + 8) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 8);
                  iVar28 = piVar11[0x1c];
                  piVar19 = *(int **)(iVar28 + 0xc);
                  iVar2 = *(int *)(iVar28 + 8);
                  piVar16 = (int *)((int)piVar19 + 1);
                  *(int **)(iVar28 + 0xc) = piVar16;
                  *(uint *)(iVar28 + 8) = (uint)(piVar16 < piVar19) + iVar2;
                }
                if (iVar3 <= iVar33) goto LAB_0011e87c;
                uStack_14c = 0;
                iStack_150 = 0;
                iVar2 = (*pcVar27)(iVar15 + iVar33,&iStack_150);
                iVar33 = iVar2 + iVar33;
              }
              goto LAB_0011ec20;
            }
          }
          else {
            iVar2 = piVar11[0x1c];
            uVar18 = *(uint *)(iVar2 + 0x1c);
            uVar17 = uVar18 + 1;
            *(uint *)(iVar2 + 0x1c) = uVar17;
            *(uint *)(iVar2 + 0x18) = (uint)(uVar17 < uVar18) + *(int *)(iVar2 + 0x18);
            iVar4 = piVar11[0x1c];
            piVar19 = *(int **)(iVar4 + 0xc);
            iVar2 = *(int *)(iVar4 + 8);
            piVar16 = (int *)((int)piVar19 + 1);
            *(int **)(iVar4 + 0xc) = piVar16;
            *(uint *)(iVar4 + 8) = (uint)(piVar16 < piVar19) + iVar2;
            if (iVar33 < iVar3) {
              uStack_14c = 0;
              iStack_150 = 0;
              piVar16 = &iStack_150;
              iVar28 = (*pcVar27)(iVar15 + iVar33);
              iVar4 = 0x10;
              iVar33 = iVar33 + iVar28;
              goto LAB_0011eaec;
            }
          }
          goto LAB_0011e87c;
        }
        if (iVar3 <= iVar33) goto LAB_0011e87c;
        uStack_14c = 0;
        iStack_150 = 0;
        iVar4 = (*pcVar27)(iVar15 + iVar33,&iStack_150);
        iVar4 = iVar33 + iVar4;
        goto LAB_0011e97c;
      }
    }
LAB_0011e87c:
    piVar11[0x1a] = 0;
  }
LAB_0011e880:
  iVar3 = 0;
LAB_0011e884:
  if (iStack_144 == *piVar22) {
    return iVar3;
  }
  pcVar25 = *(code **)(pcVar25 + 0x3d318);
  iVar3 = iStack_144;
  (*pcVar25)();
  iVar15 = piVar16[1];
  if ((piVar16[7] == 0) && (iVar4 = *(int *)(pcVar25 + 0x3ca34), 0 < iVar15)) {
    iVar33 = 0;
    iVar30 = *(int *)(pcVar25 + 0x3ca14);
    do {
      iVar28 = 0;
      iVar23 = *(int *)(*piVar16 + iVar33 * 4);
      do {
        iVar5 = MASKED(iVar3,iVar23);
        if (iVar5 != 0) {
          return iVar5;
        }
      } while ((iVar2 != 0) &&
              (iVar28 = (*(code *)(iVar30 + -0x7564))(iVar23,iVar2,param_4), iVar28 < 0));
      if ((*(char *)(iVar23 + 4) != '\0') && (iVar28 != 0)) {
        (*(code *)(iVar4 + 0x5384))(iVar23);
      }
      iVar33 = iVar33 + 1;
    } while ((piVar16[7] == 0) && (iVar33 < piVar16[1]));
  }
  (*(code *)(*(int *)(pcVar25 + 0x3c998) + 0x2944))
            (*piVar16,iVar15,iVar15,*(int *)(pcVar25 + 0x3ca14) + -0x7638);
  return 0;
LAB_0011e6ac:
  iVar2 = 100;
  pppppppcStack_e0[0xd] = (code ******)pppppppcStack_f4;
  pppppppcStack_e0[2] = unaff_s6;
  pppppppcStack_e0[0xc] = pppppppcStack_e0[4];
  pppppppcVar29 = param_1;
  goto LAB_0011ddb4;
}

