
void checkList(IntegrityCk *pCheck,int isFreeList,int iPage,u32 N)

{
  u8 uVar1;
  bool bVar2;
  bool bVar3;
  u8 *puVar4;
  undefined *puVar5;
  undefined2 extraout_var;
  code *pcVar6;
  code *pcVar7;
  int iVar8;
  char *pcVar9;
  undefined1 *puVar10;
  BtShared *pBVar11;
  BtShared *pBVar12;
  u16 uVar16;
  uint uVar13;
  StrAccum *p;
  int iVar14;
  int iVar15;
  int iVar17;
  uint uVar18;
  uint extraout_v1;
  IntegrityCk *pCheck_00;
  BtShared *pBVar19;
  uint uVar20;
  sqlite3 *psVar21;
  sqlite3 *psVar22;
  BtShared *pBVar23;
  u32 uVar24;
  char *zFormat;
  uint uVar25;
  CollSeq *pCVar26;
  u32 *puVar27;
  undefined1 *puVar28;
  int *piVar29;
  undefined4 uVar30;
  int iVar31;
  uint uVar32;
  ushort *puVar33;
  uint uVar34;
  BtShared *unaff_s0;
  int *piVar35;
  undefined *unaff_s1;
  Pgno *pPVar36;
  ushort *puVar37;
  _func_void_void_ptr *p_Var38;
  BtShared *unaff_s2;
  Pgno PVar39;
  int iVar40;
  code *pcVar41;
  BtShared *unaff_s3;
  anon_union_500_3_7c964c52_for_u *paVar42;
  uint uVar43;
  BtShared *unaff_s4;
  BtShared *pBVar44;
  uint uVar45;
  int iVar46;
  BtShared *unaff_s5;
  int *piVar47;
  Bitvec *unaff_s7;
  float *pfVar48;
  undefined *puVar49;
  code *pcVar50;
  int iVar51;
  float fVar52;
  undefined4 uStack_3b0;
  undefined4 uStack_3ac;
  undefined4 uStack_3a8;
  undefined4 uStack_3a4;
  undefined4 uStack_3a0;
  undefined4 uStack_39c;
  int iStack_398;
  undefined4 uStack_394;
  undefined4 uStack_390;
  undefined4 uStack_38c;
  float afStack_388 [10];
  undefined1 auStack_360 [20];
  char cStack_34c;
  byte bStack_34b;
  byte bStack_349;
  int iStack_164;
  int *piStack_160;
  BtShared *pBStack_15c;
  BtShared *pBStack_158;
  int iStack_154;
  BtShared *pBStack_150;
  BtShared *pBStack_14c;
  u8 *puStack_148;
  Bitvec *pBStack_144;
  IntegrityCk *pIStack_140;
  code *pcStack_13c;
  int iStack_108;
  MemPage *pMStack_b4;
  undefined1 auStack_b0 [32];
  BtShared *pBStack_90;
  undefined *puStack_8c;
  BtShared *pBStack_88;
  u32 uStack_84;
  BtShared *pBStack_80;
  BtShared *pBStack_7c;
  sqlite3_mutex *psStack_78;
  Bitvec *pBStack_74;
  IntegrityCk *pIStack_70;
  BtShared *pBStack_6c;
  BtShared *pBStack_64;
  Pager *pPStack_58;
  sqlite3 *psStack_54;
  DbPage *pOvflPage;
  sqlite3 *psStack_2c;
  
  puVar5 = PTR___stack_chk_guard_00190e24;
  puVar49 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
  iVar17 = pCheck->nErr;
  psStack_2c = *(sqlite3 **)PTR___stack_chk_guard_00190e24;
  if ((iPage == 0) || (pCheck->mxErr == 0)) {
    pCheck_00 = pCheck;
    pBVar23 = (BtShared *)isFreeList;
    pBStack_80 = unaff_s4;
    if (N != 0) {
      iVar17 = 0;
LAB_000a819c:
      if (isFreeList == 0) {
        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);
      }
      else {
        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);
      }
      pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);
      pCheck_00 = pCheck;
      pPStack_58 = (Pager *)N;
      checkAppendMsg(pCheck,(char *)pBVar23,iPage,iVar17);
      pBStack_80 = unaff_s4;
    }
  }
  else {
    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;
    unaff_s5 = (BtShared *)(PTR_LAB_00190bc4 + 0x7d78);
    pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);
    pcVar7 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);
    unaff_s0 = (BtShared *)iPage;
    uVar24 = N;
    unaff_s3 = unaff_s4;
    while (pCheck_00 = pCheck, pBVar23 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),
          pBStack_80 = unaff_s3, iVar8 == 0) {
      iPage = (int)&pOvflPage;
      unaff_s3 = (BtShared *)(uVar24 - 1);
      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);
      pBStack_80 = unaff_s3;
      if (iVar8 != 0) {
        pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);
        pCheck_00 = pCheck;
        iPage = (int)unaff_s0;
        checkAppendMsg(pCheck,(char *)pBVar23);
        if (unaff_s3 == (BtShared *)0x0) goto LAB_000a8064;
        iVar8 = pCheck->nErr;
        unaff_s4 = unaff_s3;
        goto LAB_000a8188;
      }
      pBVar23 = pCheck->pBt;
      unaff_s7 = (Bitvec *)pOvflPage->pData;
      puVar4 = &pBVar23->autoVacuum;
      if (isFreeList == 0) {
        pBVar23 = (BtShared *)unaff_s7->iSize;
        pBVar11 = pBVar23;
        uVar24 = (u32)unaff_s3;
        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {
          checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0);
          pBVar11 = (BtShared *)unaff_s7->iSize;
          goto LAB_000a7fb8;
        }
LAB_000a8048:
        pCheck_00 = (IntegrityCk *)pOvflPage;
        (*pcVar6)();
        unaff_s0 = pBVar11;
      }
      else {
        unaff_s2 = (BtShared *)unaff_s7->nSet;
        if (*puVar4 != '\0') {
          iPage = (int)&SUB_00000002;
          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);
          pBVar23 = pCheck->pBt;
        }
        if ((BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2) {
          uVar24 = uVar24 - 2;
          pBVar23 = (BtShared *)(puVar49 + -0x5124);
          (*pcVar7)(pCheck);
          pBVar11 = (BtShared *)unaff_s7->iSize;
          iPage = (int)unaff_s0;
        }
        else {
          if (0 < (int)unaff_s2) {
            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;
            puVar27 = paVar42->aHash + (int)unaff_s2;
            while( true ) {
              pBVar11 = (BtShared *)paVar42->aHash[0];
              if (pBVar23->autoVacuum == '\0') {
                checkRef(pCheck,(Pgno)pBVar11);
                pBVar23 = pBVar11;
              }
              else {
                iPage = (int)&SUB_00000002;
                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);
                checkRef(pCheck,(Pgno)pBVar11);
                pBVar23 = pBVar11;
              }
              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==
                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;
              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);
              pBVar23 = pCheck->pBt;
            }
          }
          pBVar11 = (BtShared *)unaff_s7->iSize;
          uVar24 = (int)unaff_s3 - (int)unaff_s2;
        }
LAB_000a7fb8:
        unaff_s0 = pBVar11;
        pCheck_00 = (IntegrityCk *)pOvflPage;
        if (pOvflPage != (DbPage *)0x0) goto LAB_000a8048;
      }
      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;
    }
    unaff_s3 = (BtShared *)uVar24;
    if (uVar24 != 0) {
      iVar8 = pCheck->nErr;
      unaff_s4 = pBStack_80;
LAB_000a8188:
      pBStack_80 = unaff_s4;
      if (iVar8 == iVar17) {
        iVar17 = N - (int)unaff_s3;
        goto LAB_000a819c;
      }
    }
  }
LAB_000a8064:
  if (psStack_2c == *(sqlite3 **)puVar5) {
    return;
  }
  pcVar6 = checkTreePage;
  puVar49 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  piVar35 = *(int **)(puVar49 + 0xe8bf8);
  pMStack_b4 = (MemPage *)0x0;
  auStack_b0._28_4_ = *piVar35;
  pBVar11 = (BtShared *)iPage;
  pBVar44 = pBStack_80;
  pBStack_90 = unaff_s0;
  puStack_8c = unaff_s1;
  pBStack_88 = unaff_s2;
  uStack_84 = (u32)unaff_s3;
  pBStack_7c = unaff_s5;
  psStack_78 = (sqlite3_mutex *)isFreeList;
  pBStack_74 = unaff_s7;
  pIStack_70 = pCheck;
  pBStack_6c = (BtShared *)pcVar6;
  if (pBVar23 == (BtShared *)0x0) {
LAB_000a8280:
    iPage = (int)unaff_s5;
    iStack_108 = 0;
    pCheck_00 = pCheck;
  }
  else {
    pcVar9 = pCheck_00->zPfx;
    pBVar44 = pCheck_00->pBt;
    iVar17 = pCheck_00->v1;
    iVar8 = pCheck_00->v2;
    puVar10 = (undefined1 *)pBVar44->usableSize;
    iVar14 = checkRef(pCheck_00,(Pgno)pBVar23);
    unaff_s5 = (BtShared *)iPage;
    pCheck = pCheck_00;
    if (iVar14 != 0) goto LAB_000a8280;
    iVar14 = *(int *)(puVar49 + 0xe8730);
    iVar15 = *(int *)(puVar49 + 0xe8914);
    pCheck_00->v1 = (int)pBVar23;
    pCheck_00->zPfx = (char *)(iVar14 + -0x50e0);
    pBVar11 = (BtShared *)(*(code *)(iVar15 + 0x1420))(pBVar44,pBVar23,&pMStack_b4,0);
    if (pBVar11 == (BtShared *)0x0) {
      uVar1 = pMStack_b4->isInit;
      pMStack_b4->isInit = '\0';
      pBVar11 = (BtShared *)btreeInitPage(pMStack_b4);
      if (pBVar11 != (BtShared *)0x0) {
        zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50ac);
        goto LAB_000a86a4;
      }
      isFreeList = (int)pMStack_b4->aData;
      uVar43 = (uint)pMStack_b4->hdrOffset;
      pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5084);
      iVar14 = uVar43 + 0xc + (uint)pMStack_b4->leaf * -4;
      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 3) - 1);
      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 5) - 1);
      uVar25 = (uint)pBVar11 & 0xffff;
      pBVar19 = (BtShared *)(uVar25 + 1);
      if (pMStack_b4->leaf == 0) {
        PVar39 = *(Pgno *)(isFreeList + uVar43 + 8);
        if (pBVar44->autoVacuum != '\0') {
          pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068);
          checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23);
        }
        pBVar11 = (BtShared *)&pPStack_58;
        unaff_s7 = (Bitvec *)0x0;
        iStack_108 = checkTreePage(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54));
        bVar2 = false;
      }
      else {
        unaff_s7 = (Bitvec *)pCheck_00->heap;
        bVar2 = true;
        unaff_s7->iSize = 0;
        iStack_108 = -1;
      }
      unaff_s2 = pBVar12;
      if ((pBVar12 == (BtShared *)0xffffffff) || (pCheck_00->mxErr == 0)) {
        iStack_108 = iStack_108 + 1;
        ((BtShared *)iPage)->db = psStack_54;
        ((BtShared *)iPage)->pPager = pPStack_58;
        pCheck_00->zPfx = (char *)0x0;
LAB_000a878c:
        if (0 < pCheck_00->mxErr) {
          if (pMStack_b4->leaf == '\0') {
            unaff_s7 = (Bitvec *)pCheck_00->heap;
            unaff_s7->iSize = 0;
            if (pBVar12 != (BtShared *)0xffffffff) {
              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;
              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);
              pBStack_64 = pBVar23;
              do {
                puVar37 = puVar33 + -1;
                uVar45 = (uint)*puVar33;
                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));
                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);
                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);
                puVar33 = puVar37;
                pBVar23 = pBStack_64;
              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);
            }
          }
          uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);
          unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);
          if (uVar45 != 0) {
            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;
            piVar29 = (int *)unaff_s2;
            do {
              puVar33 = (ushort *)(isFreeList + uVar45);
              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);
              uVar45 = (uint)*puVar33;
            } while (uVar45 != 0);
          }
          uVar24 = unaff_s7->iSize;
          if (uVar24 == 0) {
            puVar28 = (undefined1 *)0x0;
          }
          else {
            puVar28 = (undefined1 *)0x0;
            do {
              uVar45 = unaff_s7->nSet;
              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];
              (&unaff_s7->iSize)[uVar24] = 0xffffffff;
              uVar24 = unaff_s7->iSize - 1;
              unaff_s7->iSize = uVar24;
              if (1 < uVar24) {
                uVar34 = unaff_s7->nSet;
                uVar32 = 2;
                uVar13 = 1;
                do {
                  puVar27 = &unaff_s7->nSet + uVar32;
                  uVar18 = *puVar27;
                  uVar20 = uVar32 + 1;
                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {
                    puVar27 = &unaff_s7->iSize + uVar32;
                    uVar18 = *puVar27;
                    uVar20 = uVar32;
                  }
                  if (uVar34 < uVar18) break;
                  (&unaff_s7->iSize)[uVar13] = uVar18;
                  uVar32 = uVar20 << 1;
                  *puVar27 = uVar34;
                  uVar24 = unaff_s7->iSize;
                  uVar13 = uVar20;
                } while (uVar32 <= uVar24);
              }
              pBVar11 = (BtShared *)(uVar45 >> 0x10);
              unaff_s2 = (BtShared *)(uVar25 & 0xffff);
              if (pBVar11 <= unaff_s2) {
                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,
                               pBVar23);
                if (unaff_s7->iSize != 0) goto LAB_000a86bc;
                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));
                goto LAB_000a898c;
              }
              puVar28 = (undefined1 *)
                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));
              uVar25 = uVar45;
            } while (uVar24 != 0);
            uVar25 = uVar45 & 0xffff;
          }
          unaff_s7 = (Bitvec *)(puVar10 + -1);
          pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));
LAB_000a898c:
          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {
            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));
          }
        }
      }
      else {
        puVar28 = puVar10 + -4;
        bVar3 = true;
        iVar15 = *(int *)(puVar49 + 0xe8730);
        pcVar6 = (code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8);
        iVar40 = *(int *)(puVar49 + 0xe8730);
        iVar46 = *(int *)(puVar49 + 0xe8914);
        iVar51 = *(int *)(puVar49 + 0xe8a00);
        puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);
        pBStack_64 = pBVar23;
        do {
          pCheck_00->v2 = (int)unaff_s2;
          pBVar23 = (BtShared *)(uint)*puVar33;
          if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {
            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);
            bVar3 = false;
            pBVar11 = pBVar23;
          }
          else {
            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);
            pBVar11 = (BtShared *)auStack_b0;
            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);
            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {
              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);
              bVar3 = false;
            }
            else {
              if (pMStack_b4->intKey != '\0') {
                if (bVar2) {
                  bVar2 = true;
                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {
                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;
                    if ((uint)auStack_b0._4_4_ <= psStack_54) {
                      bVar2 = false;
                    }
                  }
                }
                else {
                  bVar2 = true;
                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||
                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&
                      ((uint)auStack_b0._4_4_ < psStack_54)))) {
LAB_000a89e0:
                    bVar2 = false;
                  }
                }
                if (bVar2) {
                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);
                }
                bVar2 = false;
                pPStack_58 = (Pager *)auStack_b0._0_4_;
                psStack_54 = (sqlite3 *)auStack_b0._4_4_;
              }
              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {
                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);
                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));
                if (puVar28 == (undefined1 *)0x0) {
                  trap(7);
                }
                if (pBVar44->autoVacuum != '\0') {
                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);
                }
                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);
              }
              if (pMStack_b4->leaf == '\0') {
                PVar39 = *pPVar36;
                if (pBVar44->autoVacuum != '\0') {
                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);
                }
                pBVar11 = (BtShared *)&pPStack_58;
                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);
                if (iVar31 == iStack_108) {
                  bVar2 = false;
                  iStack_108 = iVar31;
                }
                else {
                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);
                  bVar2 = false;
                  iStack_108 = iVar31;
                }
              }
              else {
                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);
                (*(code *)(iVar46 + 0x1738))
                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |
                                    (int)pBVar23 << 0x10);
              }
            }
          }
          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);
        } while ((unaff_s2 != (BtShared *)0xffffffff) &&
                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0));
        iStack_108 = iStack_108 + 1;
        ((BtShared *)iPage)->db = psStack_54;
        ((BtShared *)iPage)->pPager = pPStack_58;
        pCheck_00->zPfx = (char *)0x0;
        pBVar23 = pBStack_64;
        pBVar44 = pBVar19;
        if (bVar3) goto LAB_000a878c;
        pMStack_b4->isInit = uVar1;
      }
    }
    else {
      zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50d4);
LAB_000a86a4:
      checkAppendMsg(pCheck_00,zFormat);
      iStack_108 = 0;
    }
LAB_000a86bc:
    if (pMStack_b4 != (MemPage *)0x0) {
      (*(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8))(pMStack_b4->pDbPage);
    }
    pCheck_00->zPfx = pcVar9;
    pCheck_00->v1 = iVar17;
    pCheck_00->v2 = iVar8;
  }
  if ((sqlite3 *)auStack_b0._28_4_ == (sqlite3 *)*piVar35) {
    return;
  }
  pcVar6 = *(code **)(puVar49 + 0xe8bcc);
  pcVar7 = rtreenode;
  psVar21 = (sqlite3 *)auStack_b0._28_4_;
  (*pcVar6)();
  uVar25 = 0;
  piVar29 = (int *)&DAT_000001f8;
  piVar47 = *(int **)(pcVar6 + 0xe82ec);
  uStack_3b0 = 0;
  uStack_3ac = 0;
  uStack_3a8 = 0;
  uStack_3a4 = 0;
  uStack_3a0 = 0;
  uStack_39c = 0;
  iStack_398 = 0;
  uStack_394 = 0;
  iStack_164 = *piVar47;
  piStack_160 = piVar35;
  pBStack_15c = pBVar23;
  pBStack_158 = unaff_s2;
  iStack_154 = iStack_108;
  pBStack_150 = pBVar44;
  pBStack_14c = (BtShared *)iPage;
  puStack_148 = (u8 *)isFreeList;
  pBStack_144 = unaff_s7;
  pIStack_140 = pCheck_00;
  pcStack_13c = pcVar7;
  (**(code **)(pcVar6 + 0xe8220))(auStack_360);
  psVar22 = (sqlite3 *)pBVar11->pPager;
  (*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x7f68))();
  cStack_34c = (char)extraout_v1;
  if ((extraout_v1 & 0xff) - 1 < 5) {
    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';
    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);
    iStack_398 = (**(code **)(pcVar6 + 0xe7e84))(pBVar11->db);
    uVar25 = 1;
    psVar22 = pBVar11->db;
    iVar17 = (*(code *)(*(int *)(pcVar6 + 0xe8088) + 0x6c88))();
    if (3 < iVar17) {
      uVar25 = (uint)bStack_349;
      psVar22 = (sqlite3 *)(uint)*(byte *)(iStack_398 + 3);
      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +
                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b) * uVar25) <= iVar17) {
        p = (StrAccum *)(**(code **)(pcVar6 + 0xe80f8))(0);
        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {
          iVar17 = *(int *)(pcVar6 + 0xe7e20);
          iVar46 = 0;
          iVar8 = *(int *)(pcVar6 + 0xe806c);
          pcVar7 = *(code **)(pcVar6 + 0xe80c0);
          (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);
          iVar14 = *(int *)(pcVar6 + 0xe7e24);
          iVar40 = *(int *)(pcVar6 + 0xe7e24);
          iVar15 = *(int *)(pcVar6 + 0xe7e24);
          while( true ) {
            sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);
            if (bStack_34b != 0) {
              pfVar48 = afStack_388;
              iVar51 = 0;
              do {
                fVar52 = *pfVar48;
                iVar51 = iVar51 + 1;
                pfVar48 = pfVar48 + 1;
                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),
                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)
                                   );
              } while (iVar51 < (int)(uint)bStack_34b);
            }
            iVar46 = iVar46 + 1;
            (*pcVar7)(p,iVar17 + 0x1300,1);
            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=
                iVar46) break;
            (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);
            (*pcVar7)(p,iVar15 + -0x4854,1);
          }
        }
        if (p == (StrAccum *)0x0) {
          uVar25 = 7;
          piVar29 = (int *)0x0;
        }
        else {
          uVar25 = (uint)p->accError;
          if (p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)) {
            piVar29 = (int *)0x0;
          }
          else {
            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);
          }
        }
        (*(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0))
                  (psVar21,&psVar21->nDb,piVar29,0xffffffff,1,*(undefined4 *)(pcVar6 + 0xe7e34));
        (**(code **)(pcVar6 + 0xe7e9c))();
        psVar22 = psVar21;
      }
    }
  }
  if (iStack_164 == *piVar47) {
    return;
  }
  pcVar6 = *(code **)(pcVar6 + 0xe82c0);
  (*pcVar6)();
  if (*(char *)((*(ushort *)(*piVar29 + 8) & 0x1f) + *(int *)(pcVar6 + 0xe7acc) + 0x6a8c) == '\x05')
  {
    return;
  }
  pCVar26 = psVar22->pDfltColl;
  if (((uint)pCVar26->pUser & 0x20000000) == 0) {
    p_Var38 = (_func_void_void_ptr *)
              (*(code *)(*(int *)(pcVar6 + 0xe7d30) + -0x4168))(&psVar22->pVdbe,pCVar26,0x18);
  }
  else {
    p_Var38 = pCVar26->xDel;
  }
  if (p_Var38 == (_func_void_void_ptr *)0x0) {
    return;
  }
  iVar17 = *(int *)(p_Var38 + 0xc);
  *(undefined4 *)(p_Var38 + 0xc) = *(undefined4 *)(psVar22->pVfs->xAccess + 0x6c);
  if (iVar17 == 0) {
    pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);
    pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);
LAB_000a8f8c:
    iVar17 = *piVar29;
  }
  else {
    if (uVar25 == 2) {
      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);
      iVar17 = (*pcVar41)(piVar29[1],1);
      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);
      uVar30 = (*pcVar7)(piVar29[1],1);
      if (iVar17 == 0) goto LAB_000a8f8c;
      pcVar50 = *(code **)(pcVar6 + 0xe7d68);
    }
    else {
      uVar30 = 1;
      iVar17 = *(int *)(pcVar6 + 0xe7ac8) + 0x138c;
      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);
      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);
      pcVar50 = *(code **)(pcVar6 + 0xe7d68);
    }
    (*pcVar50)(p_Var38,iVar17,uVar30);
    iVar17 = *piVar29;
  }
  iVar17 = (*pcVar41)(iVar17,1);
  uVar30 = (*pcVar7)(*piVar29,1);
  if (iVar17 == 0) {
    return;
  }
                    /* WARNING: Could not recover jumptable at 0x000a8fe0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (**(code **)(pcVar6 + 0xe7d68))(p_Var38,iVar17,uVar30);
  return;
}



/* WARNING: Type propagation algorithm not settling */

code **** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,
                      code *******param_4)

{
  byte bVar1;
  bool bVar2;
  undefined *puVar3;
  code *pcVar4;
  code *pcVar5;
  int iVar6;
  code *****pppppcVar7;
  code *******pppppppcVar8;
  code ****ppppcVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  code ***pppcVar14;
  code *****pppppcVar15;
  code *******pppppppcVar16;
  code ****ppppcVar17;
  uint extraout_v1;
  code ****ppppcVar18;
  code ******ppppppcVar19;
  code ******ppppppcVar20;
  code *******pppppppcVar21;
  code ****ppppcVar22;
  uint uVar23;
  code *******pppppppcVar24;
  int *piVar25;
  code ****ppppcVar26;
  code ****ppppcVar27;
  code ****ppppcVar28;
  code ****ppppcVar29;
  code *******unaff_s0;
  int *piVar30;
  undefined *unaff_s1;
  code *******unaff_s2;
  int iVar31;
  code *pcVar32;
  code *******unaff_s3;
  code *****pppppcVar33;
  code ****ppppcVar34;
  code *******unaff_s4;
  code *******pppppppcVar35;
  int iVar36;
  code *******unaff_s5;
  int *piVar37;
  code *****unaff_s7;
  float *pfVar38;
  undefined *puVar39;
  code *pcVar40;
  int iVar41;
  undefined4 uVar42;
  float fVar43;
  undefined4 uStack_3b0;
  undefined4 uStack_3ac;
  undefined4 uStack_3a8;
  undefined4 uStack_3a4;
  undefined4 uStack_3a0;
  undefined4 uStack_39c;
  int iStack_398;
  undefined4 uStack_394;
  undefined4 uStack_390;
  undefined4 uStack_38c;
  float afStack_388 [10];
  undefined1 auStack_360 [20];
  char cStack_34c;
  byte bStack_34b;
  byte bStack_349;
  code ****ppppcStack_164;
  int *piStack_160;
  code *******pppppppcStack_15c;
  code *******pppppppcStack_158;
  code ****ppppcStack_154;
  code *******pppppppcStack_150;
  code *******pppppppcStack_14c;
  code *******pppppppcStack_148;
  code *****pppppcStack_144;
  code ******ppppppcStack_140;
  undefined4 uStack_13c;
  code *******pppppppcStack_128;
  code ******ppppppcStack_124;
  undefined *puStack_120;
  code ******ppppppcStack_118;
  code *****pppppcStack_114;
  code *****pppppcStack_110;
  code *****pppppcStack_10c;
  int iStack_108;
  int iStack_104;
  code *pcStack_100;
  int iStack_fc;
  code *******pppppppcStack_f8;
  int iStack_f4;
  uint uStack_f0;
  code *******pppppppcStack_ec;
  code *****pppppcStack_e8;
  code *pcStack_e4;
  code *pcStack_e0;
  code *******pppppppcStack_dc;
  code *******pppppppcStack_d8;
  code *pcStack_d4;
  code *pcStack_d0;
  int iStack_cc;
  code ****ppppcStack_c8;
  int iStack_c4;
  undefined4 uStack_c0;
  uint uStack_bc;
  byte *pbStack_b4;
  code *******pppppppcStack_b0;
  code ******ppppppcStack_ac;
  uint uStack_a4;
  ushort uStack_a0;
  ushort uStack_9e;
  code ******ppppppcStack_94;
  code *******pppppppcStack_90;
  undefined *puStack_8c;
  code *******pppppppcStack_88;
  code *******pppppppcStack_84;
  code *******pppppppcStack_80;
  code *******pppppppcStack_7c;
  code *******pppppppcStack_78;
  code *****pppppcStack_74;
  code ******ppppppcStack_70;
  code *pcStack_6c;
  code *******pppppppcStack_64;
  code *******local_58;
  code ******ppppppcStack_54;
  code ******local_30;
  code ****local_2c;
  
  puVar3 = PTR___stack_chk_guard_00190e24;
  puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
  pppppcVar15 = param_1[5];
  local_2c = *(code *****)PTR___stack_chk_guard_00190e24;
  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {
    ppppppcVar20 = param_1;
    pppppppcVar21 = param_2;
    pppppppcStack_80 = unaff_s4;
    if (param_4 != (code *******)0x0) {
LAB_000a819c:
      if (param_2 == (code *******)0x0) {
        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);
      }
      else {
        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);
      }
      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);
      ppppppcVar20 = param_1;
      local_58 = param_4;
      FUN_000a7bb8();
      pppppppcStack_80 = unaff_s4;
    }
  }
  else {
    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;
    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);
    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);
    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);
    unaff_s0 = param_3;
    pppppppcVar8 = param_4;
    unaff_s3 = unaff_s4;
    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),
          pppppppcStack_80 = unaff_s3, iVar6 == 0) {
      param_3 = &local_30;
      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);
      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);
      pppppppcStack_80 = unaff_s3;
      if (iVar6 != 0) {
        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);
        ppppppcVar20 = param_1;
        param_3 = unaff_s0;
        FUN_000a7bb8();
        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;
        pppppcVar7 = param_1[5];
        unaff_s4 = unaff_s3;
        goto LAB_000a8188;
      }
      pppppppcVar21 = (code *******)*param_1;
      unaff_s7 = local_30[1];
      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);
      if (param_2 == (code *******)0x0) {
        pppppppcVar21 = (code *******)*unaff_s7;
        pppppppcVar35 = pppppppcVar21;
        pppppppcVar8 = unaff_s3;
        if ((*pcVar32 != (code)0x0) &&
           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {
          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);
          pppppppcVar35 = (code *******)*unaff_s7;
          goto LAB_000a7fb8;
        }
LAB_000a8048:
        ppppppcVar20 = local_30;
        (*pcVar4)();
        unaff_s0 = pppppppcVar35;
      }
      else {
        unaff_s2 = (code *******)unaff_s7[1];
        if (*pcVar32 != (code)0x0) {
          param_3 = (code *******)0x2;
          FUN_000a7d78(param_1,unaff_s0,2,0);
          pppppppcVar21 = (code *******)*param_1;
        }
        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {
          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);
          pppppppcVar21 = (code *******)(puVar39 + -0x5124);
          (*pcVar5)(param_1);
          pppppppcVar35 = (code *******)*unaff_s7;
          param_3 = unaff_s0;
        }
        else {
          if (0 < (int)unaff_s2) {
            pppppcVar33 = unaff_s7 + 2;
            pppppcVar7 = pppppcVar33 + (int)unaff_s2;
            while( true ) {
              pppppppcVar8 = (code *******)*pppppcVar33;
              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {
                FUN_000a7cd0(param_1);
                pppppppcVar21 = pppppppcVar8;
              }
              else {
                param_3 = (code *******)0x2;
                FUN_000a7d78(param_1,pppppppcVar8,2,0);
                FUN_000a7cd0(param_1);
                pppppppcVar21 = pppppppcVar8;
              }
              if (pppppcVar33 + 1 == pppppcVar7) break;
              pppppcVar33 = pppppcVar33 + 1;
              pppppppcVar21 = (code *******)*param_1;
            }
          }
          pppppppcVar35 = (code *******)*unaff_s7;
          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);
        }
LAB_000a7fb8:
        unaff_s0 = pppppppcVar35;
        ppppppcVar20 = local_30;
        if (local_30 != (code ******)0x0) goto LAB_000a8048;
      }
      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;
    }
    unaff_s3 = pppppppcVar8;
    if (pppppppcVar8 != (code *******)0x0) {
      pppppcVar7 = param_1[5];
      unaff_s4 = pppppppcStack_80;
LAB_000a8188:
      pppppppcStack_80 = unaff_s4;
      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;
    }
  }
LAB_000a8064:
  if (local_2c == *(code *****)puVar3) {
    return *(code *****)puVar3;
  }
  pcVar4 = FUN_000a822c;
  puVar39 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_120 = puVar39 + 0xf06f4;
  piVar30 = *(int **)(puVar39 + 0xe8bf8);
  pbStack_b4 = (byte *)0x0;
  ppppppcStack_94 = (code ******)*piVar30;
  pppppppcVar8 = param_3;
  pppppppcVar35 = pppppppcStack_80;
  pppppppcStack_90 = unaff_s0;
  puStack_8c = unaff_s1;
  pppppppcStack_88 = unaff_s2;
  pppppppcStack_84 = unaff_s3;
  pppppppcStack_7c = unaff_s5;
  pppppppcStack_78 = param_2;
  pppppcStack_74 = unaff_s7;
  ppppppcStack_70 = param_1;
  pcStack_6c = pcVar4;
  if (pppppppcVar21 == (code *******)0x0) {
LAB_000a8280:
    ppppcVar34 = (code ****)0x0;
    ppppppcVar20 = param_1;
  }
  else {
    pppppcStack_114 = ppppppcVar20[7];
    pppppppcVar35 = (code *******)*ppppppcVar20;
    pppppcStack_110 = ppppppcVar20[8];
    pppppcStack_10c = ppppppcVar20[9];
    ppppppcStack_118 = pppppppcVar35[9];
    iVar6 = FUN_000a7cd0();
    unaff_s5 = param_3;
    param_1 = ppppppcVar20;
    if (iVar6 != 0) goto LAB_000a8280;
    iVar6 = *(int *)(puStack_120 + -0x7fc4);
    iVar10 = *(int *)(puStack_120 + -0x7de0);
    ppppppcVar20[8] = (code *****)pppppppcVar21;
    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);
    pppppppcVar8 = (code *******)
                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);
    if (pppppppcVar8 == (code *******)0x0) {
      uStack_f0 = (uint)*pbStack_b4;
      *pbStack_b4 = 0;
      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);
      if (pppppppcStack_dc != (code *******)0x0) {
        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;
        pppppppcVar8 = pppppppcStack_dc;
        goto LAB_000a86a4;
      }
      param_2 = *(code ********)(pbStack_b4 + 0x38);
      bVar1 = pbStack_b4[9];
      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);
      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);
      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;
      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);
      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);
      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);
      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);
      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);
      if (pbStack_b4[8] == 0) {
        uVar42 = *(undefined4 *)(pcStack_d4 + 8);
        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {
          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);
          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);
        }
        pppppppcVar8 = (code *******)&local_58;
        ppppppcStack_124 = ppppppcStack_54;
        unaff_s7 = (code *****)0x0;
        pppppppcStack_128 = local_58;
        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);
        iStack_104 = 0;
      }
      else {
        unaff_s7 = ppppppcVar20[0x10];
        iStack_104 = 1;
        *unaff_s7 = (code ****)0x0;
        iStack_108 = -1;
      }
      pppppppcVar24 = pppppppcStack_d8;
      unaff_s2 = pppppppcStack_ec;
      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {
        ppppcVar34 = (code ****)(iStack_108 + 1);
        param_3[1] = ppppppcStack_54;
        *param_3 = (code ******)local_58;
        ppppppcVar20[7] = (code *****)0x0;
LAB_000a878c:
        if (0 < (int)ppppppcVar20[4]) {
          if (pbStack_b4[8] == 0) {
            unaff_s7 = ppppppcVar20[0x10];
            *unaff_s7 = (code ****)0x0;
            if (pppppppcStack_ec != (code *******)0xffffffff) {
              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);
              iVar6 = iStack_c4 + -2;
              pcVar4 = pcStack_e4;
              pppppppcStack_64 = pppppppcVar21;
              do {
                pcVar5 = pcVar4 + -2;
                uVar23 = (uint)*(ushort *)pcVar4;
                iVar10 = (**(code **)(pbStack_b4 + 0x4c))
                                   (pbStack_b4,(code *)((int)param_2 + uVar23));
                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);
                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);
                pcVar4 = pcVar5;
                pppppppcVar21 = pppppppcStack_64;
              } while ((code *)((int)param_2 + iVar6) != pcVar5);
            }
          }
          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);
          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);
          if (uVar23 != 0) {
            unaff_s2 = unaff_s2 + 0x5ce;
            pppppppcVar8 = unaff_s2;
            do {
              pcVar4 = (code *)((int)param_2 + uVar23);
              (*(code *)pppppppcVar8)
                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);
              uVar23 = (uint)*(ushort *)pcVar4;
            } while (uVar23 != 0);
          }
          ppppcVar22 = *unaff_s7;
          pppppppcVar24 = pppppppcStack_dc;
          ppppcVar28 = ppppcStack_c8;
          if (ppppcVar22 == (code ****)0x0) {
            pppppppcVar24 = (code *******)0x0;
          }
          else {
            do {
              ppppcVar27 = unaff_s7[1];
              unaff_s7[1] = unaff_s7[(int)ppppcVar22];
              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;
              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);
              *unaff_s7 = ppppcVar22;
              if ((code ****)0x1 < ppppcVar22) {
                ppppcVar29 = unaff_s7[1];
                ppppcVar26 = (code ****)0x2;
                ppppcVar9 = (code ****)0x1;
                do {
                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);
                  ppppcVar17 = *pppppcVar15;
                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);
                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {
                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;
                    ppppcVar17 = *pppppcVar15;
                    ppppcVar18 = ppppcVar26;
                  }
                  if (ppppcVar29 < ppppcVar17) break;
                  unaff_s7[(int)ppppcVar9] = ppppcVar17;
                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);
                  *pppppcVar15 = ppppcVar29;
                  ppppcVar22 = *unaff_s7;
                  ppppcVar9 = ppppcVar18;
                } while (ppppcVar26 <= ppppcVar22);
              }
              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);
              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);
              if (pppppppcVar8 <= unaff_s2) {
                pppppppcStack_dc = pppppppcVar24;
                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,
                             pppppppcVar21);
                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;
                pppppppcVar8 = (code *******)
                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +
                               -(int)unaff_s2);
                goto LAB_000a898c;
              }
              pppppppcVar24 =
                   (code *******)
                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);
              ppppcVar28 = ppppcVar27;
            } while (ppppcVar22 != (code ****)0x0);
            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);
          }
          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);
          pppppppcVar8 = (code *******)
                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);
LAB_000a898c:
          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {
            pppppppcStack_128 = pppppppcVar21;
            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);
          }
        }
      }
      else {
        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);
        iStack_fc = 1;
        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);
        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);
        iStack_cc = *(int *)(puStack_120 + -0x7fc4);
        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);
        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);
        pcVar4 = pcStack_e4;
        pppppppcStack_f8 = pppppppcVar35;
        pppppcStack_e8 = unaff_s7;
        pppppppcStack_d8 = param_3;
        pppppppcStack_64 = pppppppcVar21;
        do {
          ppppppcVar20[9] = (code *****)unaff_s2;
          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;
          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {
            pppppppcStack_128 = pppppppcVar16;
            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);
            iStack_fc = 0;
            pppppppcVar8 = pppppppcVar21;
          }
          else {
            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);
            pppppppcVar8 = (code *******)&pppppppcStack_b0;
            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);
            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {
              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);
              iStack_fc = 0;
            }
            else {
              if (pbStack_b4[2] != 0) {
                if (iStack_104 == 0) {
                  bVar2 = true;
                  if (((int)pppppppcStack_b0 < (int)local_58) ||
                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {
LAB_000a89e0:
                    bVar2 = false;
                  }
                }
                else {
                  bVar2 = true;
                  if ((int)pppppppcStack_b0 <= (int)local_58) {
                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;
                    if (ppppppcStack_ac <= ppppppcStack_54) {
                      bVar2 = false;
                    }
                  }
                }
                if (bVar2) {
                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);
                }
                iStack_104 = 0;
                local_58 = pppppppcStack_b0;
                ppppppcStack_54 = ppppppcStack_ac;
              }
              if (uStack_a0 < uStack_a4) {
                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));
                if (pppppppcVar16 == (code *******)0x0) {
                  trap(7);
                }
                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /
                         (uint)pppppppcVar16;
                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {
                  uStack_c0 = uVar42;
                  uStack_bc = uVar23;
                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);
                  uVar23 = uStack_bc;
                  uVar42 = uStack_c0;
                }
                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);
              }
              if (pbStack_b4[8] == 0) {
                uVar42 = *(undefined4 *)pcVar5;
                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {
                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);
                }
                pppppppcVar8 = (code *******)&local_58;
                ppppppcStack_124 = ppppppcStack_54;
                pppppppcStack_128 = local_58;
                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);
                if (iVar6 == iStack_108) {
                  iStack_104 = 0;
                  iStack_108 = iVar6;
                }
                else {
                  iStack_108 = iVar6;
                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);
                  iStack_104 = 0;
                }
              }
              else {
                pppppppcVar8 = (code *******)(uStack_9e - 1);
                (*pcStack_d0)(pppppcStack_e8,
                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |
                              (int)pppppppcVar21 << 0x10);
              }
            }
          }
          unaff_s2 = (code *******)((int)unaff_s2 + -1);
        } while ((unaff_s2 != (code *******)0xffffffff) &&
                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));
        ppppcVar34 = (code ****)(iStack_108 + 1);
        pppppppcStack_d8[1] = ppppppcStack_54;
        *pppppppcStack_d8 = (code ******)local_58;
        ppppppcVar20[7] = (code *****)0x0;
        pppppppcVar21 = pppppppcStack_64;
        pppppppcVar35 = pppppppcVar24;
        unaff_s5 = pppppppcStack_d8;
        unaff_s7 = pppppcStack_e8;
        if (iStack_fc != 0) goto LAB_000a878c;
        *pbStack_b4 = (byte)uStack_f0;
      }
    }
    else {
      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;
LAB_000a86a4:
      FUN_000a7bb8(ppppppcVar20,iVar6);
      ppppcVar34 = (code ****)0x0;
    }
LAB_000a86bc:
    if (pbStack_b4 != (byte *)0x0) {
      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));
    }
    ppppppcVar20[7] = pppppcStack_114;
    ppppppcVar20[8] = pppppcStack_110;
    ppppppcVar20[9] = pppppcStack_10c;
  }
  if (ppppppcStack_94 == (code ******)*piVar30) {
    return ppppcVar34;
  }
  pcVar4 = *(code **)(puStack_120 + -0x7b28);
  uVar42 = 0xa8b38;
  ppppppcVar19 = ppppppcStack_94;
  (*pcVar4)();
  uVar23 = 0;
  piVar25 = (int *)&DAT_000001f8;
  piVar37 = *(int **)(pcVar4 + 0xe82ec);
  uStack_3b0 = 0;
  uStack_3ac = 0;
  uStack_3a8 = 0;
  uStack_3a4 = 0;
  uStack_3a0 = 0;
  uStack_39c = 0;
  iStack_398 = 0;
  uStack_394 = 0;
  ppppcStack_164 = (code ****)*piVar37;
  piStack_160 = piVar30;
  pppppppcStack_15c = pppppppcVar21;
  pppppppcStack_158 = unaff_s2;
  ppppcStack_154 = ppppcVar34;
  pppppppcStack_150 = pppppppcVar35;
  pppppppcStack_14c = unaff_s5;
  pppppppcStack_148 = param_2;
  pppppcStack_144 = unaff_s7;
  ppppppcStack_140 = ppppppcVar20;
  uStack_13c = uVar42;
  (**(code **)(pcVar4 + 0xe8220))(auStack_360);
  ppppppcVar20 = *pppppppcVar8;
  (*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))();
  cStack_34c = (char)extraout_v1;
  if ((extraout_v1 & 0xff) - 1 < 5) {
    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';
    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);
    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);
    uVar23 = 1;
    ppppppcVar20 = pppppppcVar8[1];
    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();
    if (3 < iVar6) {
      uVar23 = (uint)bStack_349;
      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);
      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +
                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {
        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);
        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {
          iVar10 = *(int *)(pcVar4 + 0xe7e20);
          iVar36 = 0;
          iVar11 = *(int *)(pcVar4 + 0xe806c);
          pcVar5 = *(code **)(pcVar4 + 0xe80c0);
          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);
          iVar12 = *(int *)(pcVar4 + 0xe7e24);
          iVar31 = *(int *)(pcVar4 + 0xe7e24);
          iVar13 = *(int *)(pcVar4 + 0xe7e24);
          while( true ) {
            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);
            if (bStack_34b != 0) {
              pfVar38 = afStack_388;
              iVar41 = 0;
              do {
                fVar43 = *pfVar38;
                iVar41 = iVar41 + 1;
                pfVar38 = pfVar38 + 1;
                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),
                                    SUB84((double)fVar43,0));
              } while (iVar41 < (int)(uint)bStack_34b);
            }
            iVar36 = iVar36 + 1;
            (*pcVar5)(iVar6,iVar10 + 0x1300,1);
            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=
                iVar36) break;
            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);
            (*pcVar5)(iVar6,iVar13 + -0x4854,1);
          }
        }
        if (iVar6 == 0) {
          uVar23 = 7;
          piVar25 = (int *)0x0;
        }
        else {
          uVar23 = (uint)*(byte *)(iVar6 + 0x14);
          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {
            piVar25 = (int *)0x0;
          }
          else {
            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);
          }
        }
        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))
                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,
                   *(undefined4 *)(pcVar4 + 0xe7e34));
        (**(code **)(pcVar4 + 0xe7e9c))();
        ppppppcVar20 = ppppppcVar19;
      }
    }
  }
  ppppcVar34 = (code ****)*piVar37;
  if (ppppcStack_164 == ppppcVar34) {
    return ppppcVar34;
  }
  pcVar4 = *(code **)(pcVar4 + 0xe82c0);
  (*pcVar4)();
  if (*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5) {
    return (code ****)0x5;
  }
  pppppcVar15 = ppppppcVar20[2];
  ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000);
  if ((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0) {
    ppppcVar34 = (code ****)
                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))
                           (ppppppcVar20 + 1,pppppcVar15,0x18);
    ppppcVar28 = ppppcVar34;
  }
  else {
    ppppcVar28 = pppppcVar15[4];
  }
  if (ppppcVar28 == (code ****)0x0) {
    return ppppcVar34;
  }
  pppcVar14 = ppppcVar28[3];
  ppppcVar28[3] = (*ppppppcVar20)[8][0x1b];
  if (pppcVar14 == (code ***)0x0) {
    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);
    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);
LAB_000a8f8c:
    iVar6 = *piVar25;
  }
  else {
    if (uVar23 == 2) {
      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);
      iVar6 = (*pcVar32)(piVar25[1],1);
      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);
      uVar42 = (*pcVar5)(piVar25[1],1);
      if (iVar6 == 0) goto LAB_000a8f8c;
      pcVar40 = *(code **)(pcVar4 + 0xe7d68);
    }
    else {
      uVar42 = 1;
      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;
      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);
      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);
      pcVar40 = *(code **)(pcVar4 + 0xe7d68);
    }
    (*pcVar40)(ppppcVar28,iVar6,uVar42);
    iVar6 = *piVar25;
  }
  iVar6 = (*pcVar32)(iVar6,1);
  ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1);
  if (iVar6 == 0) {
    return ppppcVar34;
  }
                    /* WARNING: Could not recover jumptable at 0x000a8fe0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34);
  return ppppcVar34;
}


lui gp,0xf
addiu gp,gp,0xa60
addu gp,gp,t9
addiu sp,sp,-0x68
lw v0,-0x7afc(gp)
sw s8,0x60(sp)
or s8,a0,zero
sw s6,0x58(sp)
or s6,a1,zero
sw gp,0x18(sp)
sw ra,0x64(sp)
sw s7,0x5c(sp)
sw s5,0x54(sp)
sw s4,0x50(sp)
sw s3,0x4c(sp)
sw s2,0x48(sp)
sw s1,0x44(sp)
sw s0,0x40(sp)
sw v0,0x30(sp)
sw a3,0x74(sp)
lw v1,0x14(a0)
lw v0,0x0(v0)
sw v1,0x34(sp)
sw v0,0x3c(sp)
beq a2,zero,0x000a8210
_lw v0,0x74(sp)
lw v0,0x10(a0)
beq v0,zero,0x000a820c
_lw v0,-0x7fc4(gp)
or s0,a2,zero
lw s1,-0x7d5c(gp)
lw s5,-0x7d5c(gp)
sw v0,0x28(sp)
lw v0,-0x7de0(gp)
addiu s1,s1,0x7cd0
lw s3,0x74(sp)
addiu s5,s5,0x7d78
addiu v0,v0,0xee8
sw v0,0x24(sp)
lw v0,-0x7d5c(gp)
addiu v0,v0,0x7bb8
b 0x000a7fd4
_sw v0,0x2c(sp)
lwl s2,0x4(s7)
bne v0,zero,0x000a8160
_lwr s2,0x7(s7)
lw v0,0x24(a1)
srl v0,v0,0x2
addiu v0,v0,-0x2
sltu v0,v0,s2
beq v0,zero,0x000a80c8
_lw v0,0x28(sp)
or a2,s0,zero
lw t9,0x2c(sp)
or a0,s8,zero
addiu s3,s3,-0x2
jalr t9
_addiu a1,v0,-0x5124
lwl s0,0x0(s7)
lw gp,0x18(sp)
lw a0,0x38(sp)
lwr s0,0x3(s7)
bne a0,zero,0x000a8048
_lw t9,0x24(sp)
beq s0,zero,0x000a8058
_nop
lw v0,0x10(s8)
beq v0,zero,0x000a8058
_nop
or a1,s0,zero
or t9,s1,zero
bal 0x000a7cd0
_or a0,s8,zero
bne v0,zero,0x000a8058
_lw gp,0x18(sp)
lw v0,0x4(s8)
or a3,zero,zero
addiu a2,sp,0x38
or a1,s0,zero
or a0,v0,zero
lw t9,0xcc(v0)
jalr t9
_addiu s4,s3,-0x1
bne v0,zero,0x000a81d4
_lw gp,0x18(sp)
lw a0,0x38(sp)
lw a1,0x0(s8)
lw s7,0x4(a0)
bne s6,zero,0x000a7f6c
_lbu v0,0x11(a1)
lwl a1,0x0(s7)
beq v0,zero,0x000a803c
_lwr a1,0x3(s7)
bne s4,zero,0x000a80a0
_li a2,0x4
or s0,a1,zero
or s3,s4,zero
lw t9,0x24(sp)
jalr t9
_nop
bne s0,zero,0x000a7fc8
_lw gp,0x18(sp)
bne s3,zero,0x000a8184
_nop
lw v0,0x30(sp)
lw v1,0x3c(sp)
lw v0,0x0(v0)
bne v1,v0,0x000a8220
_lw ra,0x64(sp)
lw s8,0x60(sp)
lw s7,0x5c(sp)
lw s6,0x58(sp)
lw s5,0x54(sp)
lw s4,0x50(sp)
lw s3,0x4c(sp)
lw s2,0x48(sp)
lw s1,0x44(sp)
lw s0,0x40(sp)
jr ra
_addiu sp,sp,0x68
or a3,s0,zero
or t9,s5,zero
bal 0x000a7d78
_or a0,s8,zero
or s3,s4,zero
lwl s0,0x0(s7)
lw gp,0x18(sp)
lw a0,0x38(sp)
b 0x000a7fb8
_lwr s0,0x3(s7)
blez s2,0x000a814c
_nop
addiu s3,s7,0x8
sll s0,s2,0x2
b 0x000a8100
_addu s0,s0,s3
addiu s3,s3,0x4
or a1,v0,zero
or t9,s1,zero
bal 0x000a7cd0
_or a0,s8,zero
beq s3,s0,0x000a814c
_lw gp,0x18(sp)
lw a1,0x0(s8)
lwl v0,0x0(s3)
lbu a0,0x11(a1)
beq a0,zero,0x000a80e0
_lwr v0,0x3(s3)
or a3,zero,zero
sw v0,0x20(sp)
li a2,0x2
or a1,v0,zero
or t9,s5,zero
bal 0x000a7d78
_or a0,s8,zero
addiu s3,s3,0x4
lw v0,0x20(sp)
or a0,s8,zero
or t9,s1,zero
bal 0x000a7cd0
_or a1,v0,zero
bne s3,s0,0x000a80fc
_lw gp,0x18(sp)
lwl s0,0x0(s7)
subu s3,s4,s2
lw a0,0x38(sp)
b 0x000a7fb8
_lwr s0,0x3(s7)
or a3,zero,zero
li a2,0x2
or a1,s0,zero
or t9,s5,zero
bal 0x000a7d78
_or a0,s8,zero
lw gp,0x18(sp)
b 0x000a7f78
_lw a1,0x0(s8)
lw v0,0x14(s8)
lw v1,0x34(sp)
bne v0,v1,0x000a8064
_lw v0,0x30(sp)
lw v0,0x74(sp)
subu a3,v0,s3
bne s6,zero,0x000a8204
_lw a2,-0x7fc4(gp)
lw a2,-0x7fc4(gp)
addiu a2,a2,-0x5154
lw a1,-0x7fc4(gp)
or a0,s8,zero
lw t9,-0x7d5c(gp)
lw v0,0x74(sp)
addiu a1,a1,-0x50fc
addiu t9,t9,0x7bb8
bal 0x000a7bb8
_sw v0,0x10(sp)
b 0x000a8060
_lw gp,0x18(sp)
lw a1,-0x7fc4(gp)
or a2,s0,zero
lw t9,-0x7d5c(gp)
or a0,s8,zero
or s3,s4,zero
addiu t9,t9,0x7bb8
bal 0x000a7bb8
_addiu a1,a1,-0x513c
beq s3,zero,0x000a8060
_lw gp,0x18(sp)
b 0x000a8188
_lw v0,0x14(s8)
b 0x000a81ac
_addiu a2,a2,-0x5f18
lw v0,0x74(sp)
beq v0,zero,0x000a8064
_lw v0,0x30(sp)
b 0x000a819c
_or a3,zero,zero
lw t9,-0x7b28(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\ncode **** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  code *****pppppcVar7;\n  code *******pppppppcVar8;\n  code ****ppppcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code ***pppcVar14;\n  code *****pppppcVar15;\n  code *******pppppppcVar16;\n  code ****ppppcVar17;\n  uint extraout_v1;\n  code ****ppppcVar18;\n  code ******ppppppcVar19;\n  code ******ppppppcVar20;\n  code *******pppppppcVar21;\n  code ****ppppcVar22;\n  uint uVar23;\n  code *******pppppppcVar24;\n  int *piVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code ****ppppcVar28;\n  code ****ppppcVar29;\n  code *******unaff_s0;\n  int *piVar30;\n  undefined *unaff_s1;\n  code *******unaff_s2;\n  int iVar31;\n  code *pcVar32;\n  code *******unaff_s3;\n  code *****pppppcVar33;\n  code ****ppppcVar34;\n  code *******unaff_s4;\n  code *******pppppppcVar35;\n  int iVar36;\n  code *******unaff_s5;\n  int *piVar37;\n  code *****unaff_s7;\n  float *pfVar38;\n  undefined *puVar39;\n  code *pcVar40;\n  int iVar41;\n  undefined4 uVar42;\n  float fVar43;\n  undefined4 uStack_3b0;\n  undefined4 uStack_3ac;\n  undefined4 uStack_3a8;\n  undefined4 uStack_3a4;\n  undefined4 uStack_3a0;\n  undefined4 uStack_39c;\n  int iStack_398;\n  undefined4 uStack_394;\n  undefined4 uStack_390;\n  undefined4 uStack_38c;\n  float afStack_388 [10];\n  undefined1 auStack_360 [20];\n  char cStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  code ****ppppcStack_164;\n  int *piStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  code ****ppppcStack_154;\n  code *******pppppppcStack_150;\n  code *******pppppppcStack_14c;\n  code *******pppppppcStack_148;\n  code *****pppppcStack_144;\n  code ******ppppppcStack_140;\n  undefined4 uStack_13c;\n  code *******pppppppcStack_128;\n  code ******ppppppcStack_124;\n  undefined *puStack_120;\n  code ******ppppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  int iStack_108;\n  int iStack_104;\n  code *pcStack_100;\n  int iStack_fc;\n  code *******pppppppcStack_f8;\n  int iStack_f4;\n  uint uStack_f0;\n  code *******pppppppcStack_ec;\n  code *****pppppcStack_e8;\n  code *pcStack_e4;\n  code *pcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *pcStack_d4;\n  code *pcStack_d0;\n  int iStack_cc;\n  code ****ppppcStack_c8;\n  int iStack_c4;\n  undefined4 uStack_c0;\n  uint uStack_bc;\n  byte *pbStack_b4;\n  code *******pppppppcStack_b0;\n  code ******ppppppcStack_ac;\n  uint uStack_a4;\n  ushort uStack_a0;\n  ushort uStack_9e;\n  code ******ppppppcStack_94;\n  code *******pppppppcStack_90;\n  undefined *puStack_8c;\n  code *******pppppppcStack_88;\n  code *******pppppppcStack_84;\n  code *******pppppppcStack_80;\n  code *******pppppppcStack_7c;\n  code *******pppppppcStack_78;\n  code *****pppppcStack_74;\n  code ******ppppppcStack_70;\n  code *pcStack_6c;\n  code *******pppppppcStack_64;\n  code *******local_58;\n  code ******ppppppcStack_54;\n  code ******local_30;\n  code ****local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  pppppcVar15 = param_1[5];\n  local_2c = *(code *****)PTR___stack_chk_guard_00190e24;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar20 = param_1;\n    pppppppcVar21 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }\nLAB_000a8064:\n  if (local_2c == *(code *****)puVar3) {\n    return *(code *****)puVar3;\n  }\n  pcVar4 = FUN_000a822c;\n  puVar39 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_120 = puVar39 + 0xf06f4;\n  piVar30 = *(int **)(puVar39 + 0xe8bf8);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*piVar30;\n  pppppppcVar8 = param_3;\n  pppppppcVar35 = pppppppcStack_80;\n  pppppppcStack_90 = unaff_s0;\n  puStack_8c = unaff_s1;\n  pppppppcStack_88 = unaff_s2;\n  pppppppcStack_84 = unaff_s3;\n  pppppppcStack_7c = unaff_s5;\n  pppppppcStack_78 = param_2;\n  pppppcStack_74 = unaff_s7;\n  ppppppcStack_70 = param_1;\n  pcStack_6c = pcVar4;\n  if (pppppppcVar21 == (code *******)0x0) {\nLAB_000a8280:\n    ppppcVar34 = (code ****)0x0;\n    ppppppcVar20 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*piVar30) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(puStack_120 + -0x7b28);\n  uVar42 = 0xa8b38;\n  ppppppcVar19 = ppppppcStack_94;\n  (*pcVar4)();\n  uVar23 = 0;\n  piVar25 = (int *)&DAT_000001f8;\n  piVar37 = *(int **)(pcVar4 + 0xe82ec);\n  uStack_3b0 = 0;\n  uStack_3ac = 0;\n  uStack_3a8 = 0;\n  uStack_3a4 = 0;\n  uStack_3a0 = 0;\n  uStack_39c = 0;\n  iStack_398 = 0;\n  uStack_394 = 0;\n  ppppcStack_164 = (code ****)*piVar37;\n  piStack_160 = piVar30;\n  pppppppcStack_15c = pppppppcVar21;\n  pppppppcStack_158 = unaff_s2;\n  ppppcStack_154 = ppppcVar34;\n  pppppppcStack_150 = pppppppcVar35;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar20;\n  uStack_13c = uVar42;\n  (**(code **)(pcVar4 + 0xe8220))(auStack_360);\n  ppppppcVar20 = *pppppppcVar8;\n  (*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))();\n  cStack_34c = (char)extraout_v1;\n  if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);\n    uVar23 = 1;\n    ppppppcVar20 = pppppppcVar8[1];\n    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();\n    if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }\n  }\n  ppppcVar34 = (code ****)*piVar37;\n  if (ppppcStack_164 == ppppcVar34) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(pcVar4 + 0xe82c0);\n  (*pcVar4)();\n  if (*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5) {\n    return (code ****)0x5;\n  }\n  pppppcVar15 = ppppppcVar20[2];\n  ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000);\n  if ((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0) {\n    ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);\n    ppppcVar28 = ppppcVar34;\n  }\n  else {\n    ppppcVar28 = pppppcVar15[4];\n  }\n  if (ppppcVar28 == (code ****)0x0) {\n    return ppppcVar34;\n  }\n  pppcVar14 = ppppcVar28[3];\n  ppppcVar28[3] = (*ppppppcVar20)[8][0x1b];\n  if (pppcVar14 == (code ***)0x0) {\n    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar6 = *piVar25;\n  }\n  else {\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }\n  iVar6 = (*pcVar32)(iVar6,1);\n  ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1);\n  if (iVar6 == 0) {\n    return ppppcVar34;\n  }\n                    /* WARNING: Could not recover jumptable at 0x000a8fe0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34);\n  return ppppcVar34;\n}\n\n" comment (function_definition "code **** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  code *****pppppcVar7;\n  code *******pppppppcVar8;\n  code ****ppppcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code ***pppcVar14;\n  code *****pppppcVar15;\n  code *******pppppppcVar16;\n  code ****ppppcVar17;\n  uint extraout_v1;\n  code ****ppppcVar18;\n  code ******ppppppcVar19;\n  code ******ppppppcVar20;\n  code *******pppppppcVar21;\n  code ****ppppcVar22;\n  uint uVar23;\n  code *******pppppppcVar24;\n  int *piVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code ****ppppcVar28;\n  code ****ppppcVar29;\n  code *******unaff_s0;\n  int *piVar30;\n  undefined *unaff_s1;\n  code *******unaff_s2;\n  int iVar31;\n  code *pcVar32;\n  code *******unaff_s3;\n  code *****pppppcVar33;\n  code ****ppppcVar34;\n  code *******unaff_s4;\n  code *******pppppppcVar35;\n  int iVar36;\n  code *******unaff_s5;\n  int *piVar37;\n  code *****unaff_s7;\n  float *pfVar38;\n  undefined *puVar39;\n  code *pcVar40;\n  int iVar41;\n  undefined4 uVar42;\n  float fVar43;\n  undefined4 uStack_3b0;\n  undefined4 uStack_3ac;\n  undefined4 uStack_3a8;\n  undefined4 uStack_3a4;\n  undefined4 uStack_3a0;\n  undefined4 uStack_39c;\n  int iStack_398;\n  undefined4 uStack_394;\n  undefined4 uStack_390;\n  undefined4 uStack_38c;\n  float afStack_388 [10];\n  undefined1 auStack_360 [20];\n  char cStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  code ****ppppcStack_164;\n  int *piStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  code ****ppppcStack_154;\n  code *******pppppppcStack_150;\n  code *******pppppppcStack_14c;\n  code *******pppppppcStack_148;\n  code *****pppppcStack_144;\n  code ******ppppppcStack_140;\n  undefined4 uStack_13c;\n  code *******pppppppcStack_128;\n  code ******ppppppcStack_124;\n  undefined *puStack_120;\n  code ******ppppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  int iStack_108;\n  int iStack_104;\n  code *pcStack_100;\n  int iStack_fc;\n  code *******pppppppcStack_f8;\n  int iStack_f4;\n  uint uStack_f0;\n  code *******pppppppcStack_ec;\n  code *****pppppcStack_e8;\n  code *pcStack_e4;\n  code *pcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *pcStack_d4;\n  code *pcStack_d0;\n  int iStack_cc;\n  code ****ppppcStack_c8;\n  int iStack_c4;\n  undefined4 uStack_c0;\n  uint uStack_bc;\n  byte *pbStack_b4;\n  code *******pppppppcStack_b0;\n  code ******ppppppcStack_ac;\n  uint uStack_a4;\n  ushort uStack_a0;\n  ushort uStack_9e;\n  code ******ppppppcStack_94;\n  code *******pppppppcStack_90;\n  undefined *puStack_8c;\n  code *******pppppppcStack_88;\n  code *******pppppppcStack_84;\n  code *******pppppppcStack_80;\n  code *******pppppppcStack_7c;\n  code *******pppppppcStack_78;\n  code *****pppppcStack_74;\n  code ******ppppppcStack_70;\n  code *pcStack_6c;\n  code *******pppppppcStack_64;\n  code *******local_58;\n  code ******ppppppcStack_54;\n  code ******local_30;\n  code ****local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  pppppcVar15 = param_1[5];\n  local_2c = *(code *****)PTR___stack_chk_guard_00190e24;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar20 = param_1;\n    pppppppcVar21 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }\nLAB_000a8064:\n  if (local_2c == *(code *****)puVar3) {\n    return *(code *****)puVar3;\n  }\n  pcVar4 = FUN_000a822c;\n  puVar39 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_120 = puVar39 + 0xf06f4;\n  piVar30 = *(int **)(puVar39 + 0xe8bf8);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*piVar30;\n  pppppppcVar8 = param_3;\n  pppppppcVar35 = pppppppcStack_80;\n  pppppppcStack_90 = unaff_s0;\n  puStack_8c = unaff_s1;\n  pppppppcStack_88 = unaff_s2;\n  pppppppcStack_84 = unaff_s3;\n  pppppppcStack_7c = unaff_s5;\n  pppppppcStack_78 = param_2;\n  pppppcStack_74 = unaff_s7;\n  ppppppcStack_70 = param_1;\n  pcStack_6c = pcVar4;\n  if (pppppppcVar21 == (code *******)0x0) {\nLAB_000a8280:\n    ppppcVar34 = (code ****)0x0;\n    ppppppcVar20 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*piVar30) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(puStack_120 + -0x7b28);\n  uVar42 = 0xa8b38;\n  ppppppcVar19 = ppppppcStack_94;\n  (*pcVar4)();\n  uVar23 = 0;\n  piVar25 = (int *)&DAT_000001f8;\n  piVar37 = *(int **)(pcVar4 + 0xe82ec);\n  uStack_3b0 = 0;\n  uStack_3ac = 0;\n  uStack_3a8 = 0;\n  uStack_3a4 = 0;\n  uStack_3a0 = 0;\n  uStack_39c = 0;\n  iStack_398 = 0;\n  uStack_394 = 0;\n  ppppcStack_164 = (code ****)*piVar37;\n  piStack_160 = piVar30;\n  pppppppcStack_15c = pppppppcVar21;\n  pppppppcStack_158 = unaff_s2;\n  ppppcStack_154 = ppppcVar34;\n  pppppppcStack_150 = pppppppcVar35;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar20;\n  uStack_13c = uVar42;\n  (**(code **)(pcVar4 + 0xe8220))(auStack_360);\n  ppppppcVar20 = *pppppppcVar8;\n  (*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))();\n  cStack_34c = (char)extraout_v1;\n  if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);\n    uVar23 = 1;\n    ppppppcVar20 = pppppppcVar8[1];\n    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();\n    if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }\n  }\n  ppppcVar34 = (code ****)*piVar37;\n  if (ppppcStack_164 == ppppcVar34) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(pcVar4 + 0xe82c0);\n  (*pcVar4)();\n  if (*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5) {\n    return (code ****)0x5;\n  }\n  pppppcVar15 = ppppppcVar20[2];\n  ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000);\n  if ((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0) {\n    ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);\n    ppppcVar28 = ppppcVar34;\n  }\n  else {\n    ppppcVar28 = pppppcVar15[4];\n  }\n  if (ppppcVar28 == (code ****)0x0) {\n    return ppppcVar34;\n  }\n  pppcVar14 = ppppcVar28[3];\n  ppppcVar28[3] = (*ppppppcVar20)[8][0x1b];\n  if (pppcVar14 == (code ***)0x0) {\n    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar6 = *piVar25;\n  }\n  else {\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }\n  iVar6 = (*pcVar32)(iVar6,1);\n  ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1);\n  if (iVar6 == 0) {\n    return ppppcVar34;\n  }\n                    /* WARNING: Could not recover jumptable at 0x000a8fe0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34);\n  return ppppcVar34;\n}" type_identifier (pointer_declarator "**** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" * (pointer_declarator "*** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" * (pointer_declarator "** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" * (pointer_declarator "* FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" * (function_declarator "FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" identifier (parameter_list "(code ******param_1,code *******param_2,code *******param_3,\n                      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" * 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 "code *******param_3" type_identifier (pointer_declarator "*******param_3" * (pointer_declarator "******param_3" * (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier)))))))) , (parameter_declaration "code *******param_4" type_identifier (pointer_declarator "*******param_4" * (pointer_declarator "******param_4" * (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier)))))))) ))))))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  code *****pppppcVar7;\n  code *******pppppppcVar8;\n  code ****ppppcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code ***pppcVar14;\n  code *****pppppcVar15;\n  code *******pppppppcVar16;\n  code ****ppppcVar17;\n  uint extraout_v1;\n  code ****ppppcVar18;\n  code ******ppppppcVar19;\n  code ******ppppppcVar20;\n  code *******pppppppcVar21;\n  code ****ppppcVar22;\n  uint uVar23;\n  code *******pppppppcVar24;\n  int *piVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code ****ppppcVar28;\n  code ****ppppcVar29;\n  code *******unaff_s0;\n  int *piVar30;\n  undefined *unaff_s1;\n  code *******unaff_s2;\n  int iVar31;\n  code *pcVar32;\n  code *******unaff_s3;\n  code *****pppppcVar33;\n  code ****ppppcVar34;\n  code *******unaff_s4;\n  code *******pppppppcVar35;\n  int iVar36;\n  code *******unaff_s5;\n  int *piVar37;\n  code *****unaff_s7;\n  float *pfVar38;\n  undefined *puVar39;\n  code *pcVar40;\n  int iVar41;\n  undefined4 uVar42;\n  float fVar43;\n  undefined4 uStack_3b0;\n  undefined4 uStack_3ac;\n  undefined4 uStack_3a8;\n  undefined4 uStack_3a4;\n  undefined4 uStack_3a0;\n  undefined4 uStack_39c;\n  int iStack_398;\n  undefined4 uStack_394;\n  undefined4 uStack_390;\n  undefined4 uStack_38c;\n  float afStack_388 [10];\n  undefined1 auStack_360 [20];\n  char cStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  code ****ppppcStack_164;\n  int *piStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  code ****ppppcStack_154;\n  code *******pppppppcStack_150;\n  code *******pppppppcStack_14c;\n  code *******pppppppcStack_148;\n  code *****pppppcStack_144;\n  code ******ppppppcStack_140;\n  undefined4 uStack_13c;\n  code *******pppppppcStack_128;\n  code ******ppppppcStack_124;\n  undefined *puStack_120;\n  code ******ppppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  int iStack_108;\n  int iStack_104;\n  code *pcStack_100;\n  int iStack_fc;\n  code *******pppppppcStack_f8;\n  int iStack_f4;\n  uint uStack_f0;\n  code *******pppppppcStack_ec;\n  code *****pppppcStack_e8;\n  code *pcStack_e4;\n  code *pcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *pcStack_d4;\n  code *pcStack_d0;\n  int iStack_cc;\n  code ****ppppcStack_c8;\n  int iStack_c4;\n  undefined4 uStack_c0;\n  uint uStack_bc;\n  byte *pbStack_b4;\n  code *******pppppppcStack_b0;\n  code ******ppppppcStack_ac;\n  uint uStack_a4;\n  ushort uStack_a0;\n  ushort uStack_9e;\n  code ******ppppppcStack_94;\n  code *******pppppppcStack_90;\n  undefined *puStack_8c;\n  code *******pppppppcStack_88;\n  code *******pppppppcStack_84;\n  code *******pppppppcStack_80;\n  code *******pppppppcStack_7c;\n  code *******pppppppcStack_78;\n  code *****pppppcStack_74;\n  code ******ppppppcStack_70;\n  code *pcStack_6c;\n  code *******pppppppcStack_64;\n  code *******local_58;\n  code ******ppppppcStack_54;\n  code ******local_30;\n  code ****local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  pppppcVar15 = param_1[5];\n  local_2c = *(code *****)PTR___stack_chk_guard_00190e24;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar20 = param_1;\n    pppppppcVar21 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }\nLAB_000a8064:\n  if (local_2c == *(code *****)puVar3) {\n    return *(code *****)puVar3;\n  }\n  pcVar4 = FUN_000a822c;\n  puVar39 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_120 = puVar39 + 0xf06f4;\n  piVar30 = *(int **)(puVar39 + 0xe8bf8);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*piVar30;\n  pppppppcVar8 = param_3;\n  pppppppcVar35 = pppppppcStack_80;\n  pppppppcStack_90 = unaff_s0;\n  puStack_8c = unaff_s1;\n  pppppppcStack_88 = unaff_s2;\n  pppppppcStack_84 = unaff_s3;\n  pppppppcStack_7c = unaff_s5;\n  pppppppcStack_78 = param_2;\n  pppppcStack_74 = unaff_s7;\n  ppppppcStack_70 = param_1;\n  pcStack_6c = pcVar4;\n  if (pppppppcVar21 == (code *******)0x0) {\nLAB_000a8280:\n    ppppcVar34 = (code ****)0x0;\n    ppppppcVar20 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*piVar30) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(puStack_120 + -0x7b28);\n  uVar42 = 0xa8b38;\n  ppppppcVar19 = ppppppcStack_94;\n  (*pcVar4)();\n  uVar23 = 0;\n  piVar25 = (int *)&DAT_000001f8;\n  piVar37 = *(int **)(pcVar4 + 0xe82ec);\n  uStack_3b0 = 0;\n  uStack_3ac = 0;\n  uStack_3a8 = 0;\n  uStack_3a4 = 0;\n  uStack_3a0 = 0;\n  uStack_39c = 0;\n  iStack_398 = 0;\n  uStack_394 = 0;\n  ppppcStack_164 = (code ****)*piVar37;\n  piStack_160 = piVar30;\n  pppppppcStack_15c = pppppppcVar21;\n  pppppppcStack_158 = unaff_s2;\n  ppppcStack_154 = ppppcVar34;\n  pppppppcStack_150 = pppppppcVar35;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar20;\n  uStack_13c = uVar42;\n  (**(code **)(pcVar4 + 0xe8220))(auStack_360);\n  ppppppcVar20 = *pppppppcVar8;\n  (*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))();\n  cStack_34c = (char)extraout_v1;\n  if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);\n    uVar23 = 1;\n    ppppppcVar20 = pppppppcVar8[1];\n    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();\n    if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }\n  }\n  ppppcVar34 = (code ****)*piVar37;\n  if (ppppcStack_164 == ppppcVar34) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(pcVar4 + 0xe82c0);\n  (*pcVar4)();\n  if (*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5) {\n    return (code ****)0x5;\n  }\n  pppppcVar15 = ppppppcVar20[2];\n  ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000);\n  if ((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0) {\n    ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);\n    ppppcVar28 = ppppcVar34;\n  }\n  else {\n    ppppcVar28 = pppppcVar15[4];\n  }\n  if (ppppcVar28 == (code ****)0x0) {\n    return ppppcVar34;\n  }\n  pppcVar14 = ppppcVar28[3];\n  ppppcVar28[3] = (*ppppppcVar20)[8][0x1b];\n  if (pppcVar14 == (code ***)0x0) {\n    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar6 = *piVar25;\n  }\n  else {\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }\n  iVar6 = (*pcVar32)(iVar6,1);\n  ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1);\n  if (iVar6 == 0) {\n    return ppppcVar34;\n  }\n                    /* WARNING: Could not recover jumptable at 0x000a8fe0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34);\n  return ppppcVar34;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "code *****pppppcVar7;" type_identifier (pointer_declarator "*****pppppcVar7" * (pointer_declarator "****pppppcVar7" * (pointer_declarator "***pppppcVar7" * (pointer_declarator "**pppppcVar7" * (pointer_declarator "*pppppcVar7" * 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 "code ****ppppcVar9;" type_identifier (pointer_declarator "****ppppcVar9" * (pointer_declarator "***ppppcVar9" * (pointer_declarator "**ppppcVar9" * (pointer_declarator "*ppppcVar9" * identifier)))) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "code ***pppcVar14;" type_identifier (pointer_declarator "***pppcVar14" * (pointer_declarator "**pppcVar14" * (pointer_declarator "*pppcVar14" * identifier))) ;) (declaration "code *****pppppcVar15;" type_identifier (pointer_declarator "*****pppppcVar15" * (pointer_declarator "****pppppcVar15" * (pointer_declarator "***pppppcVar15" * (pointer_declarator "**pppppcVar15" * (pointer_declarator "*pppppcVar15" * identifier))))) ;) (declaration "code *******pppppppcVar16;" type_identifier (pointer_declarator "*******pppppppcVar16" * (pointer_declarator "******pppppppcVar16" * (pointer_declarator "*****pppppppcVar16" * (pointer_declarator "****pppppppcVar16" * (pointer_declarator "***pppppppcVar16" * (pointer_declarator "**pppppppcVar16" * (pointer_declarator "*pppppppcVar16" * identifier))))))) ;) (declaration "code ****ppppcVar17;" type_identifier (pointer_declarator "****ppppcVar17" * (pointer_declarator "***ppppcVar17" * (pointer_declarator "**ppppcVar17" * (pointer_declarator "*ppppcVar17" * identifier)))) ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "code ****ppppcVar18;" type_identifier (pointer_declarator "****ppppcVar18" * (pointer_declarator "***ppppcVar18" * (pointer_declarator "**ppppcVar18" * (pointer_declarator "*ppppcVar18" * identifier)))) ;) (declaration "code ******ppppppcVar19;" type_identifier (pointer_declarator "******ppppppcVar19" * (pointer_declarator "*****ppppppcVar19" * (pointer_declarator "****ppppppcVar19" * (pointer_declarator "***ppppppcVar19" * (pointer_declarator "**ppppppcVar19" * (pointer_declarator "*ppppppcVar19" * identifier)))))) ;) (declaration "code ******ppppppcVar20;" type_identifier (pointer_declarator "******ppppppcVar20" * (pointer_declarator "*****ppppppcVar20" * (pointer_declarator "****ppppppcVar20" * (pointer_declarator "***ppppppcVar20" * (pointer_declarator "**ppppppcVar20" * (pointer_declarator "*ppppppcVar20" * identifier)))))) ;) (declaration "code *******pppppppcVar21;" type_identifier (pointer_declarator "*******pppppppcVar21" * (pointer_declarator "******pppppppcVar21" * (pointer_declarator "*****pppppppcVar21" * (pointer_declarator "****pppppppcVar21" * (pointer_declarator "***pppppppcVar21" * (pointer_declarator "**pppppppcVar21" * (pointer_declarator "*pppppppcVar21" * identifier))))))) ;) (declaration "code ****ppppcVar22;" type_identifier (pointer_declarator "****ppppcVar22" * (pointer_declarator "***ppppcVar22" * (pointer_declarator "**ppppcVar22" * (pointer_declarator "*ppppcVar22" * identifier)))) ;) (declaration "uint uVar23;" type_identifier 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 "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "code ****ppppcVar26;" type_identifier (pointer_declarator "****ppppcVar26" * (pointer_declarator "***ppppcVar26" * (pointer_declarator "**ppppcVar26" * (pointer_declarator "*ppppcVar26" * identifier)))) ;) (declaration "code ****ppppcVar27;" type_identifier (pointer_declarator "****ppppcVar27" * (pointer_declarator "***ppppcVar27" * (pointer_declarator "**ppppcVar27" * (pointer_declarator "*ppppcVar27" * identifier)))) ;) (declaration "code ****ppppcVar28;" type_identifier (pointer_declarator "****ppppcVar28" * (pointer_declarator "***ppppcVar28" * (pointer_declarator "**ppppcVar28" * (pointer_declarator "*ppppcVar28" * identifier)))) ;) (declaration "code ****ppppcVar29;" type_identifier (pointer_declarator "****ppppcVar29" * (pointer_declarator "***ppppcVar29" * (pointer_declarator "**ppppcVar29" * (pointer_declarator "*ppppcVar29" * identifier)))) ;) (declaration "code *******unaff_s0;" type_identifier (pointer_declarator "*******unaff_s0" * (pointer_declarator "******unaff_s0" * (pointer_declarator "*****unaff_s0" * (pointer_declarator "****unaff_s0" * (pointer_declarator "***unaff_s0" * (pointer_declarator "**unaff_s0" * (pointer_declarator "*unaff_s0" * identifier))))))) ;) (declaration "int *piVar30;" primitive_type (pointer_declarator "*piVar30" * identifier) ;) (declaration "undefined *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "code *******unaff_s2;" type_identifier (pointer_declarator "*******unaff_s2" * (pointer_declarator "******unaff_s2" * (pointer_declarator "*****unaff_s2" * (pointer_declarator "****unaff_s2" * (pointer_declarator "***unaff_s2" * (pointer_declarator "**unaff_s2" * (pointer_declarator "*unaff_s2" * identifier))))))) ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "code *pcVar32;" type_identifier (pointer_declarator "*pcVar32" * identifier) ;) (declaration "code *******unaff_s3;" type_identifier (pointer_declarator "*******unaff_s3" * (pointer_declarator "******unaff_s3" * (pointer_declarator "*****unaff_s3" * (pointer_declarator "****unaff_s3" * (pointer_declarator "***unaff_s3" * (pointer_declarator "**unaff_s3" * (pointer_declarator "*unaff_s3" * identifier))))))) ;) (declaration "code *****pppppcVar33;" type_identifier (pointer_declarator "*****pppppcVar33" * (pointer_declarator "****pppppcVar33" * (pointer_declarator "***pppppcVar33" * (pointer_declarator "**pppppcVar33" * (pointer_declarator "*pppppcVar33" * identifier))))) ;) (declaration "code ****ppppcVar34;" type_identifier (pointer_declarator "****ppppcVar34" * (pointer_declarator "***ppppcVar34" * (pointer_declarator "**ppppcVar34" * (pointer_declarator "*ppppcVar34" * 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 "code *******pppppppcVar35;" type_identifier (pointer_declarator "*******pppppppcVar35" * (pointer_declarator "******pppppppcVar35" * (pointer_declarator "*****pppppppcVar35" * (pointer_declarator "****pppppppcVar35" * (pointer_declarator "***pppppppcVar35" * (pointer_declarator "**pppppppcVar35" * (pointer_declarator "*pppppppcVar35" * identifier))))))) ;) (declaration "int iVar36;" 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" * (pointer_declarator "*unaff_s5" * identifier))))))) ;) (declaration "int *piVar37;" primitive_type (pointer_declarator "*piVar37" * 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" * identifier))))) ;) (declaration "float *pfVar38;" primitive_type (pointer_declarator "*pfVar38" * identifier) ;) (declaration "undefined *puVar39;" type_identifier (pointer_declarator "*puVar39" * identifier) ;) (declaration "code *pcVar40;" type_identifier (pointer_declarator "*pcVar40" * identifier) ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "undefined4 uVar42;" type_identifier identifier ;) (declaration "float fVar43;" primitive_type identifier ;) (declaration "undefined4 uStack_3b0;" type_identifier identifier ;) (declaration "undefined4 uStack_3ac;" type_identifier identifier ;) (declaration "undefined4 uStack_3a8;" type_identifier identifier ;) (declaration "undefined4 uStack_3a4;" type_identifier identifier ;) (declaration "undefined4 uStack_3a0;" type_identifier identifier ;) (declaration "undefined4 uStack_39c;" type_identifier identifier ;) (declaration "int iStack_398;" primitive_type identifier ;) (declaration "undefined4 uStack_394;" type_identifier identifier ;) (declaration "undefined4 uStack_390;" type_identifier identifier ;) (declaration "undefined4 uStack_38c;" type_identifier identifier ;) (declaration "float afStack_388 [10];" primitive_type (array_declarator "afStack_388 [10]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_360 [20];" type_identifier (array_declarator "auStack_360 [20]" identifier [ number_literal ]) ;) (declaration "char cStack_34c;" primitive_type identifier ;) (declaration "byte bStack_34b;" type_identifier identifier ;) (declaration "byte bStack_349;" type_identifier identifier ;) (declaration "code ****ppppcStack_164;" type_identifier (pointer_declarator "****ppppcStack_164" * (pointer_declarator "***ppppcStack_164" * (pointer_declarator "**ppppcStack_164" * (pointer_declarator "*ppppcStack_164" * identifier)))) ;) (declaration "int *piStack_160;" primitive_type (pointer_declarator "*piStack_160" * identifier) ;) (declaration "code *******pppppppcStack_15c;" type_identifier (pointer_declarator "*******pppppppcStack_15c" * (pointer_declarator "******pppppppcStack_15c" * (pointer_declarator "*****pppppppcStack_15c" * (pointer_declarator "****pppppppcStack_15c" * (pointer_declarator "***pppppppcStack_15c" * (pointer_declarator "**pppppppcStack_15c" * (pointer_declarator "*pppppppcStack_15c" * identifier))))))) ;) (declaration "code *******pppppppcStack_158;" type_identifier (pointer_declarator "*******pppppppcStack_158" * (pointer_declarator "******pppppppcStack_158" * (pointer_declarator "*****pppppppcStack_158" * (pointer_declarator "****pppppppcStack_158" * (pointer_declarator "***pppppppcStack_158" * (pointer_declarator "**pppppppcStack_158" * (pointer_declarator "*pppppppcStack_158" * identifier))))))) ;) (declaration "code ****ppppcStack_154;" type_identifier (pointer_declarator "****ppppcStack_154" * (pointer_declarator "***ppppcStack_154" * (pointer_declarator "**ppppcStack_154" * (pointer_declarator "*ppppcStack_154" * identifier)))) ;) (declaration "code *******pppppppcStack_150;" type_identifier (pointer_declarator "*******pppppppcStack_150" * (pointer_declarator "******pppppppcStack_150" * (pointer_declarator "*****pppppppcStack_150" * (pointer_declarator "****pppppppcStack_150" * (pointer_declarator "***pppppppcStack_150" * (pointer_declarator "**pppppppcStack_150" * (pointer_declarator "*pppppppcStack_150" * identifier))))))) ;) (declaration "code *******pppppppcStack_14c;" type_identifier (pointer_declarator "*******pppppppcStack_14c" * (pointer_declarator "******pppppppcStack_14c" * (pointer_declarator "*****pppppppcStack_14c" * (pointer_declarator "****pppppppcStack_14c" * (pointer_declarator "***pppppppcStack_14c" * (pointer_declarator "**pppppppcStack_14c" * (pointer_declarator "*pppppppcStack_14c" * identifier))))))) ;) (declaration "code *******pppppppcStack_148;" type_identifier (pointer_declarator "*******pppppppcStack_148" * (pointer_declarator "******pppppppcStack_148" * (pointer_declarator "*****pppppppcStack_148" * (pointer_declarator "****pppppppcStack_148" * (pointer_declarator "***pppppppcStack_148" * (pointer_declarator "**pppppppcStack_148" * (pointer_declarator "*pppppppcStack_148" * identifier))))))) ;) (declaration "code *****pppppcStack_144;" type_identifier (pointer_declarator "*****pppppcStack_144" * (pointer_declarator "****pppppcStack_144" * (pointer_declarator "***pppppcStack_144" * (pointer_declarator "**pppppcStack_144" * (pointer_declarator "*pppppcStack_144" * identifier))))) ;) (declaration "code ******ppppppcStack_140;" type_identifier (pointer_declarator "******ppppppcStack_140" * (pointer_declarator "*****ppppppcStack_140" * (pointer_declarator "****ppppppcStack_140" * (pointer_declarator "***ppppppcStack_140" * (pointer_declarator "**ppppppcStack_140" * (pointer_declarator "*ppppppcStack_140" * identifier)))))) ;) (declaration "undefined4 uStack_13c;" type_identifier identifier ;) (declaration "code *******pppppppcStack_128;" type_identifier (pointer_declarator "*******pppppppcStack_128" * (pointer_declarator "******pppppppcStack_128" * (pointer_declarator "*****pppppppcStack_128" * (pointer_declarator "****pppppppcStack_128" * (pointer_declarator "***pppppppcStack_128" * (pointer_declarator "**pppppppcStack_128" * (pointer_declarator "*pppppppcStack_128" * identifier))))))) ;) (declaration "code ******ppppppcStack_124;" type_identifier (pointer_declarator "******ppppppcStack_124" * (pointer_declarator "*****ppppppcStack_124" * (pointer_declarator "****ppppppcStack_124" * (pointer_declarator "***ppppppcStack_124" * (pointer_declarator "**ppppppcStack_124" * (pointer_declarator "*ppppppcStack_124" * identifier)))))) ;) (declaration "undefined *puStack_120;" type_identifier (pointer_declarator "*puStack_120" * identifier) ;) (declaration "code ******ppppppcStack_118;" type_identifier (pointer_declarator "******ppppppcStack_118" * (pointer_declarator "*****ppppppcStack_118" * (pointer_declarator "****ppppppcStack_118" * (pointer_declarator "***ppppppcStack_118" * (pointer_declarator "**ppppppcStack_118" * (pointer_declarator "*ppppppcStack_118" * identifier)))))) ;) (declaration "code *****pppppcStack_114;" type_identifier (pointer_declarator "*****pppppcStack_114" * (pointer_declarator "****pppppcStack_114" * (pointer_declarator "***pppppcStack_114" * (pointer_declarator "**pppppcStack_114" * (pointer_declarator "*pppppcStack_114" * identifier))))) ;) (declaration "code *****pppppcStack_110;" type_identifier (pointer_declarator "*****pppppcStack_110" * (pointer_declarator "****pppppcStack_110" * (pointer_declarator "***pppppcStack_110" * (pointer_declarator "**pppppcStack_110" * (pointer_declarator "*pppppcStack_110" * identifier))))) ;) (declaration "code *****pppppcStack_10c;" type_identifier (pointer_declarator "*****pppppcStack_10c" * (pointer_declarator "****pppppcStack_10c" * (pointer_declarator "***pppppcStack_10c" * (pointer_declarator "**pppppcStack_10c" * (pointer_declarator "*pppppcStack_10c" * identifier))))) ;) (declaration "int iStack_108;" primitive_type identifier ;) (declaration "int iStack_104;" primitive_type identifier ;) (declaration "code *pcStack_100;" type_identifier (pointer_declarator "*pcStack_100" * identifier) ;) (declaration "int iStack_fc;" primitive_type identifier ;) (declaration "code *******pppppppcStack_f8;" type_identifier (pointer_declarator "*******pppppppcStack_f8" * (pointer_declarator "******pppppppcStack_f8" * (pointer_declarator "*****pppppppcStack_f8" * (pointer_declarator "****pppppppcStack_f8" * (pointer_declarator "***pppppppcStack_f8" * (pointer_declarator "**pppppppcStack_f8" * (pointer_declarator "*pppppppcStack_f8" * identifier))))))) ;) (declaration "int iStack_f4;" primitive_type identifier ;) (declaration "uint uStack_f0;" type_identifier identifier ;) (declaration "code *******pppppppcStack_ec;" type_identifier (pointer_declarator "*******pppppppcStack_ec" * (pointer_declarator "******pppppppcStack_ec" * (pointer_declarator "*****pppppppcStack_ec" * (pointer_declarator "****pppppppcStack_ec" * (pointer_declarator "***pppppppcStack_ec" * (pointer_declarator "**pppppppcStack_ec" * (pointer_declarator "*pppppppcStack_ec" * identifier))))))) ;) (declaration "code *****pppppcStack_e8;" type_identifier (pointer_declarator "*****pppppcStack_e8" * (pointer_declarator "****pppppcStack_e8" * (pointer_declarator "***pppppcStack_e8" * (pointer_declarator "**pppppcStack_e8" * (pointer_declarator "*pppppcStack_e8" * identifier))))) ;) (declaration "code *pcStack_e4;" type_identifier (pointer_declarator "*pcStack_e4" * identifier) ;) (declaration "code *pcStack_e0;" type_identifier (pointer_declarator "*pcStack_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 *pcStack_d4;" type_identifier (pointer_declarator "*pcStack_d4" * identifier) ;) (declaration "code *pcStack_d0;" type_identifier (pointer_declarator "*pcStack_d0" * identifier) ;) (declaration "int iStack_cc;" primitive_type identifier ;) (declaration "code ****ppppcStack_c8;" type_identifier (pointer_declarator "****ppppcStack_c8" * (pointer_declarator "***ppppcStack_c8" * (pointer_declarator "**ppppcStack_c8" * (pointer_declarator "*ppppcStack_c8" * identifier)))) ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "undefined4 uStack_c0;" type_identifier identifier ;) (declaration "uint uStack_bc;" type_identifier identifier ;) (declaration "byte *pbStack_b4;" type_identifier (pointer_declarator "*pbStack_b4" * identifier) ;) (declaration "code *******pppppppcStack_b0;" type_identifier (pointer_declarator "*******pppppppcStack_b0" * (pointer_declarator "******pppppppcStack_b0" * (pointer_declarator "*****pppppppcStack_b0" * (pointer_declarator "****pppppppcStack_b0" * (pointer_declarator "***pppppppcStack_b0" * (pointer_declarator "**pppppppcStack_b0" * (pointer_declarator "*pppppppcStack_b0" * identifier))))))) ;) (declaration "code ******ppppppcStack_ac;" type_identifier (pointer_declarator "******ppppppcStack_ac" * (pointer_declarator "*****ppppppcStack_ac" * (pointer_declarator "****ppppppcStack_ac" * (pointer_declarator "***ppppppcStack_ac" * (pointer_declarator "**ppppppcStack_ac" * (pointer_declarator "*ppppppcStack_ac" * identifier)))))) ;) (declaration "uint uStack_a4;" type_identifier identifier ;) (declaration "ushort uStack_a0;" type_identifier identifier ;) (declaration "ushort uStack_9e;" type_identifier identifier ;) (declaration "code ******ppppppcStack_94;" type_identifier (pointer_declarator "******ppppppcStack_94" * (pointer_declarator "*****ppppppcStack_94" * (pointer_declarator "****ppppppcStack_94" * (pointer_declarator "***ppppppcStack_94" * (pointer_declarator "**ppppppcStack_94" * (pointer_declarator "*ppppppcStack_94" * identifier)))))) ;) (declaration "code *******pppppppcStack_90;" type_identifier (pointer_declarator "*******pppppppcStack_90" * (pointer_declarator "******pppppppcStack_90" * (pointer_declarator "*****pppppppcStack_90" * (pointer_declarator "****pppppppcStack_90" * (pointer_declarator "***pppppppcStack_90" * (pointer_declarator "**pppppppcStack_90" * (pointer_declarator "*pppppppcStack_90" * identifier))))))) ;) (declaration "undefined *puStack_8c;" type_identifier (pointer_declarator "*puStack_8c" * identifier) ;) (declaration "code *******pppppppcStack_88;" type_identifier (pointer_declarator "*******pppppppcStack_88" * (pointer_declarator "******pppppppcStack_88" * (pointer_declarator "*****pppppppcStack_88" * (pointer_declarator "****pppppppcStack_88" * (pointer_declarator "***pppppppcStack_88" * (pointer_declarator "**pppppppcStack_88" * (pointer_declarator "*pppppppcStack_88" * identifier))))))) ;) (declaration "code *******pppppppcStack_84;" type_identifier (pointer_declarator "*******pppppppcStack_84" * (pointer_declarator "******pppppppcStack_84" * (pointer_declarator "*****pppppppcStack_84" * (pointer_declarator "****pppppppcStack_84" * (pointer_declarator "***pppppppcStack_84" * (pointer_declarator "**pppppppcStack_84" * (pointer_declarator "*pppppppcStack_84" * identifier))))))) ;) (declaration "code *******pppppppcStack_80;" type_identifier (pointer_declarator "*******pppppppcStack_80" * (pointer_declarator "******pppppppcStack_80" * (pointer_declarator "*****pppppppcStack_80" * (pointer_declarator "****pppppppcStack_80" * (pointer_declarator "***pppppppcStack_80" * (pointer_declarator "**pppppppcStack_80" * (pointer_declarator "*pppppppcStack_80" * identifier))))))) ;) (declaration "code *******pppppppcStack_7c;" type_identifier (pointer_declarator "*******pppppppcStack_7c" * (pointer_declarator "******pppppppcStack_7c" * (pointer_declarator "*****pppppppcStack_7c" * (pointer_declarator "****pppppppcStack_7c" * (pointer_declarator "***pppppppcStack_7c" * (pointer_declarator "**pppppppcStack_7c" * (pointer_declarator "*pppppppcStack_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 *****pppppcStack_74;" type_identifier (pointer_declarator "*****pppppcStack_74" * (pointer_declarator "****pppppcStack_74" * (pointer_declarator "***pppppcStack_74" * (pointer_declarator "**pppppcStack_74" * (pointer_declarator "*pppppcStack_74" * identifier))))) ;) (declaration "code ******ppppppcStack_70;" type_identifier (pointer_declarator "******ppppppcStack_70" * (pointer_declarator "*****ppppppcStack_70" * (pointer_declarator "****ppppppcStack_70" * (pointer_declarator "***ppppppcStack_70" * (pointer_declarator "**ppppppcStack_70" * (pointer_declarator "*ppppppcStack_70" * identifier)))))) ;) (declaration "code *pcStack_6c;" type_identifier (pointer_declarator "*pcStack_6c" * identifier) ;) (declaration "code *******pppppppcStack_64;" type_identifier (pointer_declarator "*******pppppppcStack_64" * (pointer_declarator "******pppppppcStack_64" * (pointer_declarator "*****pppppppcStack_64" * (pointer_declarator "****pppppppcStack_64" * (pointer_declarator "***pppppppcStack_64" * (pointer_declarator "**pppppppcStack_64" * (pointer_declarator "*pppppppcStack_64" * identifier))))))) ;) (declaration "code *******local_58;" type_identifier (pointer_declarator "*******local_58" * (pointer_declarator "******local_58" * (pointer_declarator "*****local_58" * (pointer_declarator "****local_58" * (pointer_declarator "***local_58" * (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * identifier))))))) ;) (declaration "code ******ppppppcStack_54;" type_identifier (pointer_declarator "******ppppppcStack_54" * (pointer_declarator "*****ppppppcStack_54" * (pointer_declarator "****ppppppcStack_54" * (pointer_declarator "***ppppppcStack_54" * (pointer_declarator "**ppppppcStack_54" * (pointer_declarator "*ppppppcStack_54" * identifier)))))) ;) (declaration "code ******local_30;" type_identifier (pointer_declarator "******local_30" * (pointer_declarator "*****local_30" * (pointer_declarator "****local_30" * (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier)))))) ;) (declaration "code ****local_2c;" type_identifier (pointer_declarator "****local_2c" * (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier)))) ;) (expression_statement "puVar3 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar3 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "pppppcVar15 = param_1[5];" (assignment_expression "pppppcVar15 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "local_2c = *(code *****)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(code *****)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(code *****)PTR___stack_chk_guard_00190e24" * (cast_expression "(code *****)PTR___stack_chk_guard_00190e24" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier))) ;) (if_statement "if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar20 = param_1;\n    pppppppcVar21 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }" if (parenthesized_expression "((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0))" ( (binary_expression "(param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)" (parenthesized_expression "(param_3 == (code *******)0x0)" ( (binary_expression "param_3 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) || (parenthesized_expression "(param_1[4] == (code *****)0x0)" ( (binary_expression "param_1[4] == (code *****)0x0" (subscript_expression "param_1[4]" 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    ppppppcVar20 = param_1;\n    pppppppcVar21 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }" { (expression_statement "ppppppcVar20 = param_1;" (assignment_expression "ppppppcVar20 = param_1" identifier = identifier) ;) (expression_statement "pppppppcVar21 = param_2;" (assignment_expression "pppppppcVar21 = param_2" identifier = identifier) ;) (expression_statement "pppppppcStack_80 = unaff_s4;" (assignment_expression "pppppppcStack_80 = unaff_s4" identifier = identifier) ;) (if_statement "if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }" if (parenthesized_expression "(param_4 != (code *******)0x0)" ( (binary_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)) )) (compound_statement "{\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }" { (labeled_statement "LAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" statement_identifier : (if_statement "if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" if (parenthesized_expression "(param_2 == (code *******)0x0)" ( (binary_expression "param_2 == (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        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }" { (expression_statement "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);" (assignment_expression "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154)" identifier = (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154)" ( (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_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154" identifier + number_literal) )))) ;) }) (else_clause "else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" else (compound_statement "{\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" { (expression_statement "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);" (assignment_expression "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18)" identifier = (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18)" ( (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_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18" identifier + number_literal) )))) ;) })))) (expression_statement "pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);" (assignment_expression "pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc)" identifier = (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc)" ( (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_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc" identifier + number_literal) )))) ;) (expression_statement "ppppppcVar20 = param_1;" (assignment_expression "ppppppcVar20 = param_1" identifier = identifier) ;) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" identifier = identifier) ;) (expression_statement "FUN_000a7bb8();" (call_expression "FUN_000a7bb8()" identifier (argument_list "()" ( ))) ;) (expression_statement "pppppppcStack_80 = unaff_s4;" (assignment_expression "pppppppcStack_80 = unaff_s4" identifier = identifier) ;) })) }) (else_clause "else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }" else (compound_statement "{\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }" { (expression_statement "unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;" (assignment_expression "unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0" identifier = (binary_expression "PTR_LAB_00190bc4 + 0x7cd0" identifier + number_literal)) ;) (expression_statement "unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);" (assignment_expression "unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78)" identifier = (cast_expression "(code *******)(PTR_LAB_00190bc4 + 0x7d78)" ( (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_00190bc4 + 0x7d78)" ( (binary_expression "PTR_LAB_00190bc4 + 0x7d78" identifier + number_literal) )))) ;) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8)" identifier = (cast_expression "(code *)(PTR_LAB_00190b40 + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0xee8)" ( (binary_expression "PTR_LAB_00190b40 + 0xee8" identifier + number_literal) )))) ;) (expression_statement "pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);" (assignment_expression "pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x7bb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x7bb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x7bb8" identifier + number_literal) )))) ;) (expression_statement "unaff_s0 = param_3;" (assignment_expression "unaff_s0 = param_3" identifier = identifier) ;) (expression_statement "pppppppcVar8 = param_4;" (assignment_expression "pppppppcVar8 = param_4" identifier = identifier) ;) (expression_statement "unaff_s3 = unaff_s4;" (assignment_expression "unaff_s3 = unaff_s4" identifier = identifier) ;) (while_statement "while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }" while (parenthesized_expression "(ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0)" ( (comma_expression "ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0" (assignment_expression "ppppppcVar20 = param_1" identifier = identifier) , (comma_expression "pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0" (assignment_expression "pppppppcVar21 = unaff_s0" identifier = identifier) , (comma_expression "iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0" (assignment_expression "iVar6 = FUN_000a7cd0()" identifier = (call_expression "FUN_000a7cd0()" identifier (argument_list "()" ( )))) , (comma_expression "pppppppcStack_80 = unaff_s3, iVar6 == 0" (assignment_expression "pppppppcStack_80 = unaff_s3" identifier = identifier) , (binary_expression "iVar6 == 0" identifier == number_literal))))) )) (compound_statement "{\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }" { (expression_statement "param_3 = &local_30;" (assignment_expression "param_3 = &local_30" identifier = (pointer_expression "&local_30" & identifier)) ;) (expression_statement "unaff_s3 = (code *******)((int)pppppppcVar8 + -1);" (assignment_expression "unaff_s3 = (code *******)((int)pppppppcVar8 + -1)" identifier = (cast_expression "(code *******)((int)pppppppcVar8 + -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)pppppppcVar8 + -1)" ( (binary_expression "(int)pppppppcVar8 + -1" (cast_expression "(int)pppppppcVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);" (assignment_expression "iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0)" identifier = (call_expression "(*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0)" (parenthesized_expression "(*(code *)param_1[1][0x33])" ( (pointer_expression "*(code *)param_1[1][0x33]" * (cast_expression "(code *)param_1[1][0x33]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1][0x33]" (subscript_expression "param_1[1]" identifier [ number_literal ]) [ number_literal ]))) )) (argument_list "(param_1[1],unaff_s0,param_3,0)" ( (subscript_expression "param_1[1]" identifier [ number_literal ]) , identifier , identifier , number_literal )))) ;) (expression_statement "pppppppcStack_80 = unaff_s3;" (assignment_expression "pppppppcStack_80 = unaff_s3" identifier = identifier) ;) (if_statement "if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }" { (expression_statement "pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);" (assignment_expression "pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c)" identifier = (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c)" ( (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_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c" identifier + number_literal) )))) ;) (expression_statement "ppppppcVar20 = param_1;" (assignment_expression "ppppppcVar20 = param_1" identifier = identifier) ;) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" identifier = identifier) ;) (expression_statement "FUN_000a7bb8();" (call_expression "FUN_000a7bb8()" identifier (argument_list "()" ( ))) ;) (if_statement "if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;" if (parenthesized_expression "(unaff_s3 == (code *******)0x0)" ( (binary_expression "unaff_s3 == (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_000a8064;" goto statement_identifier ;)) (expression_statement "pppppcVar7 = param_1[5];" (assignment_expression "pppppcVar7 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "unaff_s4 = unaff_s3;" (assignment_expression "unaff_s4 = unaff_s3" identifier = identifier) ;) (goto_statement "goto LAB_000a8188;" goto statement_identifier ;) })) (expression_statement "pppppppcVar21 = (code *******)*param_1;" (assignment_expression "pppppppcVar21 = (code *******)*param_1" identifier = (cast_expression "(code *******)*param_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 "*" *)))))))) ) (pointer_expression "*param_1" * identifier))) ;) (expression_statement "unaff_s7 = local_30[1];" (assignment_expression "unaff_s7 = local_30[1]" identifier = (subscript_expression "local_30[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar32 = (code *)((int)pppppppcVar21 + 0x11);" (assignment_expression "pcVar32 = (code *)((int)pppppppcVar21 + 0x11)" identifier = (cast_expression "(code *)((int)pppppppcVar21 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar21 + 0x11)" ( (binary_expression "(int)pppppppcVar21 + 0x11" (cast_expression "(int)pppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }" if (parenthesized_expression "(param_2 == (code *******)0x0)" ( (binary_expression "param_2 == (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        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }" { (expression_statement "pppppppcVar21 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar21 = (code *******)*unaff_s7" identifier = (cast_expression "(code *******)*unaff_s7" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*unaff_s7" * identifier))) ;) (expression_statement "pppppppcVar35 = pppppppcVar21;" (assignment_expression "pppppppcVar35 = pppppppcVar21" identifier = identifier) ;) (expression_statement "pppppppcVar8 = unaff_s3;" (assignment_expression "pppppppcVar8 = unaff_s3" identifier = identifier) ;) (if_statement "if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }" if (parenthesized_expression "((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0))" ( (binary_expression "(*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)" (parenthesized_expression "(*pcVar32 != (code)0x0)" ( (binary_expression "*pcVar32 != (code)0x0" (pointer_expression "*pcVar32" * identifier) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) && (parenthesized_expression "(param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)" ( (comma_expression "param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0" (assignment_expression "param_3 = (code *******)&DAT_00000004" identifier = (cast_expression "(code *******)&DAT_00000004" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&DAT_00000004" & identifier))) , (binary_expression "unaff_s3 != (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          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }" { (expression_statement "FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);" (call_expression "FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0)" identifier (argument_list "(param_1,pppppppcVar21,4,unaff_s0)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "pppppppcVar35 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar35 = (code *******)*unaff_s7" identifier = (cast_expression "(code *******)*unaff_s7" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*unaff_s7" * identifier))) ;) (goto_statement "goto LAB_000a7fb8;" goto statement_identifier ;) })) (labeled_statement "LAB_000a8048:\n        ppppppcVar20 = local_30;" statement_identifier : (expression_statement "ppppppcVar20 = local_30;" (assignment_expression "ppppppcVar20 = local_30" identifier = identifier) ;)) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s0 = pppppppcVar35;" (assignment_expression "unaff_s0 = pppppppcVar35" identifier = identifier) ;) }) (else_clause "else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }" else (compound_statement "{\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }" { (expression_statement "unaff_s2 = (code *******)unaff_s7[1];" (assignment_expression "unaff_s2 = (code *******)unaff_s7[1]" identifier = (cast_expression "(code *******)unaff_s7[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_s7[1]" identifier [ number_literal ]))) ;) (if_statement "if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }" if (parenthesized_expression "(*pcVar32 != (code)0x0)" ( (binary_expression "*pcVar32 != (code)0x0" (pointer_expression "*pcVar32" * identifier) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }" { (expression_statement "param_3 = (code *******)0x2;" (assignment_expression "param_3 = (code *******)0x2" identifier = (cast_expression "(code *******)0x2" ( (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 "FUN_000a7d78(param_1,unaff_s0,2,0);" (call_expression "FUN_000a7d78(param_1,unaff_s0,2,0)" identifier (argument_list "(param_1,unaff_s0,2,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "pppppppcVar21 = (code *******)*param_1;" (assignment_expression "pppppppcVar21 = (code *******)*param_1" identifier = (cast_expression "(code *******)*param_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 "*" *)))))))) ) (pointer_expression "*param_1" * identifier))) ;) })) (if_statement "if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" if (parenthesized_expression "((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2)" ( (binary_expression "(code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2" (cast_expression "(code *******)(((uint)pppppppcVar21[9] >> 2) - 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 "(((uint)pppppppcVar21[9] >> 2) - 2)" ( (binary_expression "((uint)pppppppcVar21[9] >> 2) - 2" (parenthesized_expression "((uint)pppppppcVar21[9] >> 2)" ( (binary_expression "(uint)pppppppcVar21[9] >> 2" (cast_expression "(uint)pppppppcVar21[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppppcVar21[9]" identifier [ number_literal ])) >> number_literal) )) - number_literal) ))) < identifier) )) (compound_statement "{\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }" { (expression_statement "pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);" (assignment_expression "pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2)" identifier = (cast_expression "(code *******)((int)pppppppcVar8 + -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)pppppppcVar8 + -2)" ( (binary_expression "(int)pppppppcVar8 + -2" (cast_expression "(int)pppppppcVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppcVar21 = (code *******)(puVar39 + -0x5124);" (assignment_expression "pppppppcVar21 = (code *******)(puVar39 + -0x5124)" identifier = (cast_expression "(code *******)(puVar39 + -0x5124)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar39 + -0x5124)" ( (binary_expression "puVar39 + -0x5124" identifier + number_literal) )))) ;) (expression_statement "(*pcVar5)(param_1);" (call_expression "(*pcVar5)(param_1)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pppppppcVar35 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar35 = (code *******)*unaff_s7" identifier = (cast_expression "(code *******)*unaff_s7" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*unaff_s7" * identifier))) ;) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" identifier = identifier) ;) }) (else_clause "else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" else (compound_statement "{\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" { (if_statement "if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }" if (parenthesized_expression "(0 < (int)unaff_s2)" ( (binary_expression "0 < (int)unaff_s2" number_literal < (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }" { (expression_statement "pppppcVar33 = unaff_s7 + 2;" (assignment_expression "pppppcVar33 = unaff_s7 + 2" identifier = (binary_expression "unaff_s7 + 2" identifier + number_literal)) ;) (expression_statement "pppppcVar7 = pppppcVar33 + (int)unaff_s2;" (assignment_expression "pppppcVar7 = pppppcVar33 + (int)unaff_s2" identifier = (binary_expression "pppppcVar33 + (int)unaff_s2" identifier + (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (while_statement "while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }" { (expression_statement "pppppppcVar8 = (code *******)*pppppcVar33;" (assignment_expression "pppppppcVar8 = (code *******)*pppppcVar33" identifier = (cast_expression "(code *******)*pppppcVar33" ( (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 "*pppppcVar33" * identifier))) ;) (if_statement "if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }" if (parenthesized_expression "(*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar21 + 0x11)" * (cast_expression "(code *)((int)pppppppcVar21 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar21 + 0x11)" ( (binary_expression "(int)pppppppcVar21 + 0x11" (cast_expression "(int)pppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }" { (expression_statement "FUN_000a7cd0(param_1);" (call_expression "FUN_000a7cd0(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pppppppcVar21 = pppppppcVar8;" (assignment_expression "pppppppcVar21 = pppppppcVar8" identifier = identifier) ;) }) (else_clause "else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }" else (compound_statement "{\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }" { (expression_statement "param_3 = (code *******)0x2;" (assignment_expression "param_3 = (code *******)0x2" identifier = (cast_expression "(code *******)0x2" ( (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 "FUN_000a7d78(param_1,pppppppcVar8,2,0);" (call_expression "FUN_000a7d78(param_1,pppppppcVar8,2,0)" identifier (argument_list "(param_1,pppppppcVar8,2,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_000a7cd0(param_1);" (call_expression "FUN_000a7cd0(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pppppppcVar21 = pppppppcVar8;" (assignment_expression "pppppppcVar21 = pppppppcVar8" identifier = identifier) ;) }))) (if_statement "if (pppppcVar33 + 1 == pppppcVar7) break;" if (parenthesized_expression "(pppppcVar33 + 1 == pppppcVar7)" ( (binary_expression "pppppcVar33 + 1 == pppppcVar7" (binary_expression "pppppcVar33 + 1" identifier + number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "pppppcVar33 = pppppcVar33 + 1;" (assignment_expression "pppppcVar33 = pppppcVar33 + 1" identifier = (binary_expression "pppppcVar33 + 1" identifier + number_literal)) ;) (expression_statement "pppppppcVar21 = (code *******)*param_1;" (assignment_expression "pppppppcVar21 = (code *******)*param_1" identifier = (cast_expression "(code *******)*param_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 "*" *)))))))) ) (pointer_expression "*param_1" * identifier))) ;) })) })) (expression_statement "pppppppcVar35 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar35 = (code *******)*unaff_s7" identifier = (cast_expression "(code *******)*unaff_s7" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*unaff_s7" * identifier))) ;) (expression_statement "pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);" (assignment_expression "pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2)" identifier = (cast_expression "(code *******)((int)unaff_s3 - (int)unaff_s2)" ( (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)unaff_s3 - (int)unaff_s2)" ( (binary_expression "(int)unaff_s3 - (int)unaff_s2" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) (labeled_statement "LAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;" statement_identifier : (expression_statement "unaff_s0 = pppppppcVar35;" (assignment_expression "unaff_s0 = pppppppcVar35" identifier = identifier) ;)) (expression_statement "ppppppcVar20 = local_30;" (assignment_expression "ppppppcVar20 = local_30" identifier = identifier) ;) (if_statement "if (local_30 != (code ******)0x0) goto LAB_000a8048;" if (parenthesized_expression "(local_30 != (code ******)0x0)" ( (binary_expression "local_30 != (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_000a8048;" goto statement_identifier ;)) }))) (if_statement "if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;" if (parenthesized_expression "((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0))" ( (binary_expression "(unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)" (parenthesized_expression "(unaff_s0 == (code *******)0x0)" ( (binary_expression "unaff_s0 == (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 "(param_1[4] == (code *****)0x0)" ( (binary_expression "param_1[4] == (code *****)0x0" (subscript_expression "param_1[4]" 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 "unaff_s3 = pppppppcVar8;" (assignment_expression "unaff_s3 = pppppppcVar8" identifier = identifier) ;) (if_statement "if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }" if (parenthesized_expression "(pppppppcVar8 != (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)) )) (compound_statement "{\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }" { (expression_statement "pppppcVar7 = param_1[5];" (assignment_expression "pppppcVar7 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "unaff_s4 = pppppppcStack_80;" (assignment_expression "unaff_s4 = pppppppcStack_80" identifier = identifier) ;) (labeled_statement "LAB_000a8188:\n      pppppppcStack_80 = unaff_s4;" statement_identifier : (expression_statement "pppppppcStack_80 = unaff_s4;" (assignment_expression "pppppppcStack_80 = unaff_s4" identifier = identifier) ;)) (if_statement "if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;" if (parenthesized_expression "(pppppcVar7 == pppppcVar15)" ( (binary_expression "pppppcVar7 == pppppcVar15" identifier == identifier) )) (goto_statement "goto LAB_000a819c;" goto statement_identifier ;)) })) }))) (labeled_statement "LAB_000a8064:\n  if (local_2c == *(code *****)puVar3) {\n    return *(code *****)puVar3;\n  }" statement_identifier : (if_statement "if (local_2c == *(code *****)puVar3) {\n    return *(code *****)puVar3;\n  }" if (parenthesized_expression "(local_2c == *(code *****)puVar3)" ( (binary_expression "local_2c == *(code *****)puVar3" identifier == (pointer_expression "*(code *****)puVar3" * (cast_expression "(code *****)puVar3" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier))) )) (compound_statement "{\n    return *(code *****)puVar3;\n  }" { (return_statement "return *(code *****)puVar3;" return (pointer_expression "*(code *****)puVar3" * (cast_expression "(code *****)puVar3" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) }))) (expression_statement "pcVar4 = FUN_000a822c;" (assignment_expression "pcVar4 = FUN_000a822c" identifier = identifier) ;) (expression_statement "puVar39 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar39 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_120 = puVar39 + 0xf06f4;" (assignment_expression "puStack_120 = puVar39 + 0xf06f4" identifier = (binary_expression "puVar39 + 0xf06f4" identifier + number_literal)) ;) (expression_statement "piVar30 = *(int **)(puVar39 + 0xe8bf8);" (assignment_expression "piVar30 = *(int **)(puVar39 + 0xe8bf8)" identifier = (pointer_expression "*(int **)(puVar39 + 0xe8bf8)" * (cast_expression "(int **)(puVar39 + 0xe8bf8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar39 + 0xe8bf8)" ( (binary_expression "puVar39 + 0xe8bf8" identifier + number_literal) ))))) ;) (expression_statement "pbStack_b4 = (byte *)0x0;" (assignment_expression "pbStack_b4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppppppcStack_94 = (code ******)*piVar30;" (assignment_expression "ppppppcStack_94 = (code ******)*piVar30" identifier = (cast_expression "(code ******)*piVar30" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*piVar30" * identifier))) ;) (expression_statement "pppppppcVar8 = param_3;" (assignment_expression "pppppppcVar8 = param_3" identifier = identifier) ;) (expression_statement "pppppppcVar35 = pppppppcStack_80;" (assignment_expression "pppppppcVar35 = pppppppcStack_80" identifier = identifier) ;) (expression_statement "pppppppcStack_90 = unaff_s0;" (assignment_expression "pppppppcStack_90 = unaff_s0" identifier = identifier) ;) (expression_statement "puStack_8c = unaff_s1;" (assignment_expression "puStack_8c = unaff_s1" identifier = identifier) ;) (expression_statement "pppppppcStack_88 = unaff_s2;" (assignment_expression "pppppppcStack_88 = unaff_s2" identifier = identifier) ;) (expression_statement "pppppppcStack_84 = unaff_s3;" (assignment_expression "pppppppcStack_84 = unaff_s3" identifier = identifier) ;) (expression_statement "pppppppcStack_7c = unaff_s5;" (assignment_expression "pppppppcStack_7c = unaff_s5" identifier = identifier) ;) (expression_statement "pppppppcStack_78 = param_2;" (assignment_expression "pppppppcStack_78 = param_2" identifier = identifier) ;) (expression_statement "pppppcStack_74 = unaff_s7;" (assignment_expression "pppppcStack_74 = unaff_s7" identifier = identifier) ;) (expression_statement "ppppppcStack_70 = param_1;" (assignment_expression "ppppppcStack_70 = param_1" identifier = identifier) ;) (expression_statement "pcStack_6c = pcVar4;" (assignment_expression "pcStack_6c = pcVar4" identifier = identifier) ;) (if_statement "if (pppppppcVar21 == (code *******)0x0) {\nLAB_000a8280:\n    ppppcVar34 = (code ****)0x0;\n    ppppppcVar20 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }" if (parenthesized_expression "(pppppppcVar21 == (code *******)0x0)" ( (binary_expression "pppppppcVar21 == (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_000a8280:\n    ppppcVar34 = (code ****)0x0;\n    ppppppcVar20 = param_1;\n  }" { (labeled_statement "LAB_000a8280:\n    ppppcVar34 = (code ****)0x0;" statement_identifier : (expression_statement "ppppcVar34 = (code ****)0x0;" (assignment_expression "ppppcVar34 = (code ****)0x0" identifier = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;)) (expression_statement "ppppppcVar20 = param_1;" (assignment_expression "ppppppcVar20 = param_1" identifier = identifier) ;) }) (else_clause "else {\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }" else (compound_statement "{\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }" { (expression_statement "pppppcStack_114 = ppppppcVar20[7];" (assignment_expression "pppppcStack_114 = ppppppcVar20[7]" identifier = (subscript_expression "ppppppcVar20[7]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar35 = (code *******)*ppppppcVar20;" (assignment_expression "pppppppcVar35 = (code *******)*ppppppcVar20" identifier = (cast_expression "(code *******)*ppppppcVar20" ( (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 "*ppppppcVar20" * identifier))) ;) (expression_statement "pppppcStack_110 = ppppppcVar20[8];" (assignment_expression "pppppcStack_110 = ppppppcVar20[8]" identifier = (subscript_expression "ppppppcVar20[8]" identifier [ number_literal ])) ;) (expression_statement "pppppcStack_10c = ppppppcVar20[9];" (assignment_expression "pppppcStack_10c = ppppppcVar20[9]" identifier = (subscript_expression "ppppppcVar20[9]" identifier [ number_literal ])) ;) (expression_statement "ppppppcStack_118 = pppppppcVar35[9];" (assignment_expression "ppppppcStack_118 = pppppppcVar35[9]" identifier = (subscript_expression "pppppppcVar35[9]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = FUN_000a7cd0();" (assignment_expression "iVar6 = FUN_000a7cd0()" identifier = (call_expression "FUN_000a7cd0()" identifier (argument_list "()" ( )))) ;) (expression_statement "unaff_s5 = param_3;" (assignment_expression "unaff_s5 = param_3" identifier = identifier) ;) (expression_statement "param_1 = ppppppcVar20;" (assignment_expression "param_1 = ppppppcVar20" identifier = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000a8280;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a8280;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)(puStack_120 + -0x7fc4);" (assignment_expression "iVar6 = *(int *)(puStack_120 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puStack_120 + -0x7de0);" (assignment_expression "iVar10 = *(int *)(puStack_120 + -0x7de0)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7de0)" * (cast_expression "(int *)(puStack_120 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7de0)" ( (binary_expression "puStack_120 + -0x7de0" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar20[8] = (code *****)pppppppcVar21;" (assignment_expression "ppppppcVar20[8] = (code *****)pppppppcVar21" (subscript_expression "ppppppcVar20[8]" identifier [ number_literal ]) = (cast_expression "(code *****)pppppppcVar21" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);" (assignment_expression "ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0)" (subscript_expression "ppppppcVar20[7]" identifier [ number_literal ]) = (cast_expression "(code *****)(iVar6 + -0x50e0)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar6 + -0x50e0)" ( (binary_expression "iVar6 + -0x50e0" identifier + number_literal) )))) ;) (expression_statement "pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);" (assignment_expression "pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0)" identifier = (cast_expression "(code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0)" ( (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 "(*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0)" (parenthesized_expression "(*(code *)(iVar10 + 0x1420))" ( (pointer_expression "*(code *)(iVar10 + 0x1420)" * (cast_expression "(code *)(iVar10 + 0x1420)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1420)" ( (binary_expression "iVar10 + 0x1420" identifier + number_literal) )))) )) (argument_list "(pppppppcVar35,pppppppcVar21,&pbStack_b4,0)" ( identifier , identifier , (pointer_expression "&pbStack_b4" & identifier) , number_literal ))))) ;) (if_statement "if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }" if (parenthesized_expression "(pppppppcVar8 == (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)) )) (compound_statement "{\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }" { (expression_statement "uStack_f0 = (uint)*pbStack_b4;" (assignment_expression "uStack_f0 = (uint)*pbStack_b4" identifier = (binary_expression "(uint)*pbStack_b4" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "*pbStack_b4 = 0;" (assignment_expression "*pbStack_b4 = 0" (pointer_expression "*pbStack_b4" * identifier) = number_literal) ;) (expression_statement "pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);" (assignment_expression "pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4)" identifier = (cast_expression "(code *******)FUN_0008d10c(pbStack_b4)" ( (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 "FUN_0008d10c(pbStack_b4)" identifier (argument_list "(pbStack_b4)" ( identifier ))))) ;) (if_statement "if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }" if (parenthesized_expression "(pppppppcStack_dc != (code *******)0x0)" ( (binary_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)) )) (compound_statement "{\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }" { (expression_statement "iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;" (assignment_expression "iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac" identifier = (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x50ac" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pppppppcVar8 = pppppppcStack_dc;" (assignment_expression "pppppppcVar8 = pppppppcStack_dc" identifier = identifier) ;) (goto_statement "goto LAB_000a86a4;" goto statement_identifier ;) })) (expression_statement "param_2 = *(code ********)(pbStack_b4 + 0x38);" (assignment_expression "param_2 = *(code ********)(pbStack_b4 + 0x38)" identifier = (pointer_expression "*(code ********)(pbStack_b4 + 0x38)" * (cast_expression "(code ********)(pbStack_b4 + 0x38)" ( (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 "*" *))))))))) ) (parenthesized_expression "(pbStack_b4 + 0x38)" ( (binary_expression "pbStack_b4 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "bVar1 = pbStack_b4[9];" (assignment_expression "bVar1 = pbStack_b4[9]" identifier = (subscript_expression "pbStack_b4[9]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);" (assignment_expression "ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084)" (subscript_expression "ppppppcVar20[7]" identifier [ number_literal ]) = (cast_expression "(code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7fc4) + -0x5084)" ( (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x5084" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);" (assignment_expression "pcStack_d4 = (code *)((int)param_2 + (uint)bVar1)" identifier = (cast_expression "(code *)((int)param_2 + (uint)bVar1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + (uint)bVar1)" ( (binary_expression "(int)param_2 + (uint)bVar1" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;" (assignment_expression "iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4" identifier = (binary_expression "bVar1 + 0xc + (uint)pbStack_b4[8] * -4" (binary_expression "bVar1 + 0xc" identifier + number_literal) + (binary_expression "(uint)pbStack_b4[8] * -4" (cast_expression "(uint)pbStack_b4[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbStack_b4[8]" identifier [ number_literal ])) * number_literal))) ;) (expression_statement "pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);" (assignment_expression "pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1)" identifier = (cast_expression "(code *******)(*(ushort *)(pcStack_d4 + 3) - 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 "(*(ushort *)(pcStack_d4 + 3) - 1)" ( (binary_expression "*(ushort *)(pcStack_d4 + 3) - 1" (pointer_expression "*(ushort *)(pcStack_d4 + 3)" * (cast_expression "(ushort *)(pcStack_d4 + 3)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d4 + 3)" ( (binary_expression "pcStack_d4 + 3" identifier + number_literal) )))) - number_literal) )))) ;) (expression_statement "pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);" (assignment_expression "pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1)" identifier = (cast_expression "(code *******)(*(ushort *)(pcStack_d4 + 5) - 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 "(*(ushort *)(pcStack_d4 + 5) - 1)" ( (binary_expression "*(ushort *)(pcStack_d4 + 5) - 1" (pointer_expression "*(ushort *)(pcStack_d4 + 5)" * (cast_expression "(ushort *)(pcStack_d4 + 5)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d4 + 5)" ( (binary_expression "pcStack_d4 + 5" identifier + number_literal) )))) - number_literal) )))) ;) (expression_statement "ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);" (assignment_expression "ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff)" identifier = (cast_expression "(code ****)((uint)pppppppcVar8 & 0xffff)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)pppppppcVar8 & 0xffff)" ( (binary_expression "(uint)pppppppcVar8 & 0xffff" (cast_expression "(uint)pppppppcVar8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);" (assignment_expression "pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4)" identifier = (cast_expression "(code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4)" ( (binary_expression "(int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4" (binary_expression "(int)param_2 + (int)pppppppcStack_ec * 2" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)pppppppcStack_ec * 2" (cast_expression "(int)pppppppcStack_ec" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + identifier) )))) ;) (expression_statement "pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);" (assignment_expression "pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1)" identifier = (cast_expression "(code *******)((int)ppppcStack_c8 + 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)ppppcStack_c8 + 1)" ( (binary_expression "(int)ppppcStack_c8 + 1" (cast_expression "(int)ppppcStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" if (parenthesized_expression "(pbStack_b4[8] == 0)" ( (binary_expression "pbStack_b4[8] == 0" (subscript_expression "pbStack_b4[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }" { (expression_statement "uVar42 = *(undefined4 *)(pcStack_d4 + 8);" (assignment_expression "uVar42 = *(undefined4 *)(pcStack_d4 + 8)" identifier = (pointer_expression "*(undefined4 *)(pcStack_d4 + 8)" * (cast_expression "(undefined4 *)(pcStack_d4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d4 + 8)" ( (binary_expression "pcStack_d4 + 8" identifier + number_literal) ))))) ;) (if_statement "if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }" if (parenthesized_expression "(*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar35 + 0x11)" * (cast_expression "(code *)((int)pppppppcVar35 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar35 + 0x11)" ( (binary_expression "(int)pppppppcVar35 + 0x11" (cast_expression "(int)pppppppcVar35" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }" { (expression_statement "ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);" (assignment_expression "ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068)" (subscript_expression "ppppppcVar20[7]" identifier [ number_literal ]) = (cast_expression "(code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7fc4) + -0x5068)" ( (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x5068" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);" (call_expression "FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21)" identifier (argument_list "(ppppppcVar20,uVar42,5,pppppppcVar21)" ( identifier , identifier , number_literal , identifier ))) ;) })) (expression_statement "pppppppcVar8 = (code *******)&local_58;" (assignment_expression "pppppppcVar8 = (code *******)&local_58" identifier = (cast_expression "(code *******)&local_58" ( (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_58" & identifier))) ;) (expression_statement "ppppppcStack_124 = ppppppcStack_54;" (assignment_expression "ppppppcStack_124 = ppppppcStack_54" identifier = identifier) ;) (expression_statement "unaff_s7 = (code *****)0x0;" (assignment_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 "*" *)))))) ) number_literal)) ;) (expression_statement "pppppppcStack_128 = local_58;" (assignment_expression "pppppppcStack_128 = local_58" identifier = identifier) ;) (expression_statement "iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);" (assignment_expression "iStack_108 = FUN_000a822c(ppppppcVar20,uVar42)" identifier = (call_expression "FUN_000a822c(ppppppcVar20,uVar42)" identifier (argument_list "(ppppppcVar20,uVar42)" ( identifier , identifier )))) ;) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" else (compound_statement "{\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" { (expression_statement "unaff_s7 = ppppppcVar20[0x10];" (assignment_expression "unaff_s7 = ppppppcVar20[0x10]" identifier = (subscript_expression "ppppppcVar20[0x10]" identifier [ number_literal ])) ;) (expression_statement "iStack_104 = 1;" (assignment_expression "iStack_104 = 1" identifier = number_literal) ;) (expression_statement "*unaff_s7 = (code ****)0x0;" (assignment_expression "*unaff_s7 = (code ****)0x0" (pointer_expression "*unaff_s7" * identifier) = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "iStack_108 = -1;" (assignment_expression "iStack_108 = -1" identifier = number_literal) ;) }))) (expression_statement "pppppppcVar24 = pppppppcStack_d8;" (assignment_expression "pppppppcVar24 = pppppppcStack_d8" identifier = identifier) ;) (expression_statement "unaff_s2 = pppppppcStack_ec;" (assignment_expression "unaff_s2 = pppppppcStack_ec" identifier = identifier) ;) (if_statement "if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" if (parenthesized_expression "((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0))" ( (binary_expression "(pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)" (parenthesized_expression "(pppppppcStack_ec == (code *******)0xffffffff)" ( (binary_expression "pppppppcStack_ec == (code *******)0xffffffff" identifier == (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) || (parenthesized_expression "(ppppppcVar20[4] == (code *****)0x0)" ( (binary_expression "ppppppcVar20[4] == (code *****)0x0" (subscript_expression "ppppppcVar20[4]" 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        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }" { (expression_statement "ppppcVar34 = (code ****)(iStack_108 + 1);" (assignment_expression "ppppcVar34 = (code ****)(iStack_108 + 1)" identifier = (cast_expression "(code ****)(iStack_108 + 1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iStack_108 + 1)" ( (binary_expression "iStack_108 + 1" identifier + number_literal) )))) ;) (expression_statement "param_3[1] = ppppppcStack_54;" (assignment_expression "param_3[1] = ppppppcStack_54" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_3 = (code ******)local_58;" (assignment_expression "*param_3 = (code ******)local_58" (pointer_expression "*param_3" * identifier) = (cast_expression "(code ******)local_58" ( (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 "ppppppcVar20[7] = (code *****)0x0;" (assignment_expression "ppppppcVar20[7] = (code *****)0x0" (subscript_expression "ppppppcVar20[7]" 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)) ;) (labeled_statement "LAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }" statement_identifier : (if_statement "if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }" if (parenthesized_expression "(0 < (int)ppppppcVar20[4])" ( (binary_expression "0 < (int)ppppppcVar20[4]" number_literal < (cast_expression "(int)ppppppcVar20[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar20[4]" identifier [ number_literal ]))) )) (compound_statement "{\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }" { (if_statement "if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }" if (parenthesized_expression "(pbStack_b4[8] == 0)" ( (binary_expression "pbStack_b4[8] == 0" (subscript_expression "pbStack_b4[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }" { (expression_statement "unaff_s7 = ppppppcVar20[0x10];" (assignment_expression "unaff_s7 = ppppppcVar20[0x10]" identifier = (subscript_expression "ppppppcVar20[0x10]" identifier [ number_literal ])) ;) (expression_statement "*unaff_s7 = (code ****)0x0;" (assignment_expression "*unaff_s7 = (code ****)0x0" (pointer_expression "*unaff_s7" * identifier) = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (if_statement "if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }" if (parenthesized_expression "(pppppppcStack_ec != (code *******)0xffffffff)" ( (binary_expression "pppppppcStack_ec != (code *******)0xffffffff" identifier != (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }" { (expression_statement "unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);" (assignment_expression "unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738)" identifier = (cast_expression "(code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738)" ( (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_120 + -0x7de0) + 0x1738)" ( (binary_expression "*(int *)(puStack_120 + -0x7de0) + 0x1738" (pointer_expression "*(int *)(puStack_120 + -0x7de0)" * (cast_expression "(int *)(puStack_120 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7de0)" ( (binary_expression "puStack_120 + -0x7de0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar6 = iStack_c4 + -2;" (assignment_expression "iVar6 = iStack_c4 + -2" identifier = (binary_expression "iStack_c4 + -2" identifier + number_literal)) ;) (expression_statement "pcVar4 = pcStack_e4;" (assignment_expression "pcVar4 = pcStack_e4" identifier = identifier) ;) (expression_statement "pppppppcStack_64 = pppppppcVar21;" (assignment_expression "pppppppcStack_64 = pppppppcVar21" identifier = identifier) ;) (do_statement "do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);" do (compound_statement "{\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              }" { (expression_statement "pcVar5 = pcVar4 + -2;" (assignment_expression "pcVar5 = pcVar4 + -2" identifier = (binary_expression "pcVar4 + -2" identifier + number_literal)) ;) (expression_statement "uVar23 = (uint)*(ushort *)pcVar4;" (assignment_expression "uVar23 = (uint)*(ushort *)pcVar4" identifier = (binary_expression "(uint)*(ushort *)pcVar4" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)pcVar4" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));" (assignment_expression "iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23))" identifier = (call_expression "(**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23))" (parenthesized_expression "(**(code **)(pbStack_b4 + 0x4c))" ( (pointer_expression "**(code **)(pbStack_b4 + 0x4c)" * (pointer_expression "*(code **)(pbStack_b4 + 0x4c)" * (cast_expression "(code **)(pbStack_b4 + 0x4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbStack_b4 + 0x4c)" ( (binary_expression "pbStack_b4 + 0x4c" identifier + number_literal) ))))) )) (argument_list "(pbStack_b4,(code *)((int)param_2 + uVar23))" ( identifier , (cast_expression "(code *)((int)param_2 + uVar23)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + uVar23)" ( (binary_expression "(int)param_2 + uVar23" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) )))) ;) (expression_statement "pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);" (assignment_expression "pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23)" identifier = (cast_expression "(code *******)(iVar10 + -1 + uVar23)" ( (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 "(iVar10 + -1 + uVar23)" ( (binary_expression "iVar10 + -1 + uVar23" (binary_expression "iVar10 + -1" identifier + number_literal) + identifier) )))) ;) (expression_statement "(*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);" (call_expression "(*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10)" (parenthesized_expression "(*(code *)unaff_s5)" ( (pointer_expression "*(code *)unaff_s5" * (cast_expression "(code *)unaff_s5" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10)" ( identifier , (binary_expression "(uint)pppppppcVar35 | uVar23 << 0x10" (cast_expression "(uint)pppppppcVar35" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "uVar23 << 0x10" identifier << number_literal)) ))) ;) (expression_statement "pcVar4 = pcVar5;" (assignment_expression "pcVar4 = pcVar5" identifier = identifier) ;) (expression_statement "pppppppcVar21 = pppppppcStack_64;" (assignment_expression "pppppppcVar21 = pppppppcStack_64" identifier = identifier) ;) }) while (parenthesized_expression "((code *)((int)param_2 + iVar6) != pcVar5)" ( (binary_expression "(code *)((int)param_2 + iVar6) != pcVar5" (cast_expression "(code *)((int)param_2 + iVar6)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + iVar6)" ( (binary_expression "(int)param_2 + iVar6" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) != identifier) )) ;) })) })) (expression_statement "uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);" (assignment_expression "uVar23 = (uint)*(ushort *)(pcStack_d4 + 1)" identifier = (binary_expression "(uint)*(ushort *)(pcStack_d4 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(pcStack_d4 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d4 + 1)" ( (binary_expression "pcStack_d4 + 1" identifier + number_literal) ))))) ;) (expression_statement "unaff_s2 = *(code ********)(puStack_120 + -0x7de0);" (assignment_expression "unaff_s2 = *(code ********)(puStack_120 + -0x7de0)" identifier = (pointer_expression "*(code ********)(puStack_120 + -0x7de0)" * (cast_expression "(code ********)(puStack_120 + -0x7de0)" ( (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 "*" *))))))))) ) (parenthesized_expression "(puStack_120 + -0x7de0)" ( (binary_expression "puStack_120 + -0x7de0" identifier + number_literal) ))))) ;) (if_statement "if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }" if (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) (compound_statement "{\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }" { (expression_statement "unaff_s2 = unaff_s2 + 0x5ce;" (assignment_expression "unaff_s2 = unaff_s2 + 0x5ce" identifier = (binary_expression "unaff_s2 + 0x5ce" identifier + number_literal)) ;) (expression_statement "pppppppcVar8 = unaff_s2;" (assignment_expression "pppppppcVar8 = unaff_s2" identifier = identifier) ;) (do_statement "do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);" do (compound_statement "{\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            }" { (expression_statement "pcVar4 = (code *)((int)param_2 + uVar23);" (assignment_expression "pcVar4 = (code *)((int)param_2 + uVar23)" identifier = (cast_expression "(code *)((int)param_2 + uVar23)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + uVar23)" ( (binary_expression "(int)param_2 + uVar23" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "(*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);" (call_expression "(*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10)" (parenthesized_expression "(*(code *)pppppppcVar8)" ( (pointer_expression "*(code *)pppppppcVar8" * (cast_expression "(code *)pppppppcVar8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10)" ( identifier , (binary_expression "(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10" (binary_expression "(*(ushort *)(pcVar4 + 2) + uVar23) - 1" (parenthesized_expression "(*(ushort *)(pcVar4 + 2) + uVar23)" ( (binary_expression "*(ushort *)(pcVar4 + 2) + uVar23" (pointer_expression "*(ushort *)(pcVar4 + 2)" * (cast_expression "(ushort *)(pcVar4 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 2)" ( (binary_expression "pcVar4 + 2" identifier + number_literal) )))) + identifier) )) - number_literal) | (binary_expression "uVar23 << 0x10" identifier << number_literal)) ))) ;) (expression_statement "uVar23 = (uint)*(ushort *)pcVar4;" (assignment_expression "uVar23 = (uint)*(ushort *)pcVar4" identifier = (binary_expression "(uint)*(ushort *)pcVar4" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)pcVar4" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) while (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) ;) })) (expression_statement "ppppcVar22 = *unaff_s7;" (assignment_expression "ppppcVar22 = *unaff_s7" identifier = (pointer_expression "*unaff_s7" * identifier)) ;) (expression_statement "pppppppcVar24 = pppppppcStack_dc;" (assignment_expression "pppppppcVar24 = pppppppcStack_dc" identifier = identifier) ;) (expression_statement "ppppcVar28 = ppppcStack_c8;" (assignment_expression "ppppcVar28 = ppppcStack_c8" identifier = identifier) ;) (if_statement "if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }" if (parenthesized_expression "(ppppcVar22 == (code ****)0x0)" ( (binary_expression "ppppcVar22 == (code ****)0x0" identifier == (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n            pppppppcVar24 = (code *******)0x0;\n          }" { (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)) ;) }) (else_clause "else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }" else (compound_statement "{\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }" { (do_statement "do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);" do (compound_statement "{\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            }" { (expression_statement "ppppcVar27 = unaff_s7[1];" (assignment_expression "ppppcVar27 = unaff_s7[1]" identifier = (subscript_expression "unaff_s7[1]" identifier [ number_literal ])) ;) (expression_statement "unaff_s7[1] = unaff_s7[(int)ppppcVar22];" (assignment_expression "unaff_s7[1] = unaff_s7[(int)ppppcVar22]" (subscript_expression "unaff_s7[1]" identifier [ number_literal ]) = (subscript_expression "unaff_s7[(int)ppppcVar22]" identifier [ (cast_expression "(int)ppppcVar22" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;" (assignment_expression "unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff" (subscript_expression "unaff_s7[(int)ppppcVar22]" identifier [ (cast_expression "(int)ppppcVar22" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (cast_expression "(code ****)0xffffffff" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppcVar22 = (code ****)((int)*unaff_s7 - 1);" (assignment_expression "ppppcVar22 = (code ****)((int)*unaff_s7 - 1)" identifier = (cast_expression "(code ****)((int)*unaff_s7 - 1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)*unaff_s7 - 1)" ( (binary_expression "(int)*unaff_s7 - 1" (cast_expression "(int)*unaff_s7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s7" * identifier)) - number_literal) )))) ;) (expression_statement "*unaff_s7 = ppppcVar22;" (assignment_expression "*unaff_s7 = ppppcVar22" (pointer_expression "*unaff_s7" * identifier) = identifier) ;) (if_statement "if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }" if (parenthesized_expression "((code ****)0x1 < ppppcVar22)" ( (binary_expression "(code ****)0x1 < ppppcVar22" (cast_expression "(code ****)0x1" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal) < identifier) )) (compound_statement "{\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }" { (expression_statement "ppppcVar29 = unaff_s7[1];" (assignment_expression "ppppcVar29 = unaff_s7[1]" identifier = (subscript_expression "unaff_s7[1]" identifier [ number_literal ])) ;) (expression_statement "ppppcVar26 = (code ****)0x2;" (assignment_expression "ppppcVar26 = (code ****)0x2" identifier = (cast_expression "(code ****)0x2" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppcVar9 = (code ****)0x1;" (assignment_expression "ppppcVar9 = (code ****)0x1" identifier = (cast_expression "(code ****)0x1" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (do_statement "do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);" do (compound_statement "{\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                }" { (expression_statement "pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);" (assignment_expression "pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U)" identifier = (binary_expression "unaff_s7 + (int)((int)ppppcVar26 + 1U)" identifier + (cast_expression "(int)((int)ppppcVar26 + 1U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)ppppcVar26 + 1U)" ( (binary_expression "(int)ppppcVar26 + 1U" (cast_expression "(int)ppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppppcVar17 = *pppppcVar15;" (assignment_expression "ppppcVar17 = *pppppcVar15" identifier = (pointer_expression "*pppppcVar15" * identifier)) ;) (expression_statement "ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);" (assignment_expression "ppppcVar18 = (code ****)((int)ppppcVar26 + 1U)" identifier = (cast_expression "(code ****)((int)ppppcVar26 + 1U)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppcVar26 + 1U)" ( (binary_expression "(int)ppppcVar26 + 1U" (cast_expression "(int)ppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }" if (parenthesized_expression "(unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17)" ( (binary_expression "unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17" (subscript_expression "unaff_s7[(int)ppppcVar9 * 2]" identifier [ (binary_expression "(int)ppppcVar9 * 2" (cast_expression "(int)ppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]) <= identifier) )) (compound_statement "{\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }" { (expression_statement "pppppcVar15 = unaff_s7 + (int)ppppcVar26;" (assignment_expression "pppppcVar15 = unaff_s7 + (int)ppppcVar26" identifier = (binary_expression "unaff_s7 + (int)ppppcVar26" identifier + (cast_expression "(int)ppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "ppppcVar17 = *pppppcVar15;" (assignment_expression "ppppcVar17 = *pppppcVar15" identifier = (pointer_expression "*pppppcVar15" * identifier)) ;) (expression_statement "ppppcVar18 = ppppcVar26;" (assignment_expression "ppppcVar18 = ppppcVar26" identifier = identifier) ;) })) (if_statement "if (ppppcVar29 < ppppcVar17) break;" if (parenthesized_expression "(ppppcVar29 < ppppcVar17)" ( (binary_expression "ppppcVar29 < ppppcVar17" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "unaff_s7[(int)ppppcVar9] = ppppcVar17;" (assignment_expression "unaff_s7[(int)ppppcVar9] = ppppcVar17" (subscript_expression "unaff_s7[(int)ppppcVar9]" identifier [ (cast_expression "(int)ppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) ]) = identifier) ;) (expression_statement "ppppcVar26 = (code ****)((int)ppppcVar18 << 1);" (assignment_expression "ppppcVar26 = (code ****)((int)ppppcVar18 << 1)" identifier = (cast_expression "(code ****)((int)ppppcVar18 << 1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppcVar18 << 1)" ( (binary_expression "(int)ppppcVar18 << 1" (cast_expression "(int)ppppcVar18" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "*pppppcVar15 = ppppcVar29;" (assignment_expression "*pppppcVar15 = ppppcVar29" (pointer_expression "*pppppcVar15" * identifier) = identifier) ;) (expression_statement "ppppcVar22 = *unaff_s7;" (assignment_expression "ppppcVar22 = *unaff_s7" identifier = (pointer_expression "*unaff_s7" * identifier)) ;) (expression_statement "ppppcVar9 = ppppcVar18;" (assignment_expression "ppppcVar9 = ppppcVar18" identifier = identifier) ;) }) while (parenthesized_expression "(ppppcVar26 <= ppppcVar22)" ( (binary_expression "ppppcVar26 <= ppppcVar22" identifier <= identifier) )) ;) })) (expression_statement "pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);" (assignment_expression "pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10)" identifier = (cast_expression "(code *******)((uint)ppppcVar27 >> 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 "*" *)))))))) ) (parenthesized_expression "((uint)ppppcVar27 >> 0x10)" ( (binary_expression "(uint)ppppcVar27 >> 0x10" (cast_expression "(uint)ppppcVar27" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);" (assignment_expression "unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff)" identifier = (cast_expression "(code *******)((uint)ppppcVar28 & 0xffff)" ( (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)ppppcVar28 & 0xffff)" ( (binary_expression "(uint)ppppcVar28 & 0xffff" (cast_expression "(uint)ppppcVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }" if (parenthesized_expression "(pppppppcVar8 <= unaff_s2)" ( (binary_expression "pppppppcVar8 <= unaff_s2" identifier <= identifier) )) (compound_statement "{\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }" { (expression_statement "pppppppcStack_dc = pppppppcVar24;" (assignment_expression "pppppppcStack_dc = pppppppcVar24" identifier = identifier) ;) (expression_statement "FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);" (call_expression "FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21)" identifier (argument_list "(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x4fe0" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (if_statement "if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;" if (parenthesized_expression "(*unaff_s7 != (code ****)0x0)" ( (binary_expression "*unaff_s7 != (code ****)0x0" (pointer_expression "*unaff_s7" * identifier) != (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_000a86bc;" goto statement_identifier ;)) (expression_statement "pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);" (assignment_expression "pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2)" identifier = (cast_expression "(code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2)" ( (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 "((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2)" ( (binary_expression "(code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2" (binary_expression "(code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc" (cast_expression "(code *)((int)ppppppcStack_118 + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcStack_118 + -1)" ( (binary_expression "(int)ppppppcStack_118 + -1" (cast_expression "(int)ppppppcStack_118" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + (cast_expression "(int)pppppppcStack_dc" ( (type_descriptor "int" primitive_type) ) identifier)) + (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (goto_statement "goto LAB_000a898c;" goto statement_identifier ;) })) (expression_statement "pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);" (assignment_expression "pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2)" identifier = (cast_expression "(code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2)" ( (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 "((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2)" ( (binary_expression "(code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2" (binary_expression "(code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24" (cast_expression "(code *)((int)pppppppcVar8 + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar8 + -1)" ( (binary_expression "(int)pppppppcVar8 + -1" (cast_expression "(int)pppppppcVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier)) + (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "ppppcVar28 = ppppcVar27;" (assignment_expression "ppppcVar28 = ppppcVar27" identifier = identifier) ;) }) while (parenthesized_expression "(ppppcVar22 != (code ****)0x0)" ( (binary_expression "ppppcVar22 != (code ****)0x0" identifier != (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) ;) (expression_statement "ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);" (assignment_expression "ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff)" identifier = (cast_expression "(code ****)((uint)ppppcVar27 & 0xffff)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)ppppcVar27 & 0xffff)" ( (binary_expression "(uint)ppppcVar27 & 0xffff" (cast_expression "(uint)ppppcVar27" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) }))) (expression_statement "unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);" (assignment_expression "unaff_s7 = (code *****)((int)ppppppcStack_118 + -1)" identifier = (cast_expression "(code *****)((int)ppppppcStack_118 + -1)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppcStack_118 + -1)" ( (binary_expression "(int)ppppppcStack_118 + -1" (cast_expression "(int)ppppppcStack_118" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);" (assignment_expression "pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28)" identifier = (cast_expression "(code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28)" ( (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 "((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28)" ( (binary_expression "(code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28" (cast_expression "(code *)((int)unaff_s7 + (int)pppppppcVar24)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + (int)pppppppcVar24)" ( (binary_expression "(int)unaff_s7 + (int)pppppppcVar24" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + (unary_expression "-(int)ppppcVar28" - (cast_expression "(int)ppppcVar28" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (labeled_statement "LAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }" statement_identifier : (if_statement "if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }" if (parenthesized_expression "((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8)" ( (binary_expression "(code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8" (cast_expression "(code *******)(uint)(byte)pcStack_d4[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 "*" *)))))))) ) (cast_expression "(uint)(byte)pcStack_d4[7]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcStack_d4[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcStack_d4[7]" identifier [ number_literal ])))) != identifier) )) (compound_statement "{\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }" { (expression_statement "pppppppcStack_128 = pppppppcVar21;" (assignment_expression "pppppppcStack_128 = pppppppcVar21" identifier = identifier) ;) (expression_statement "FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);" (call_expression "FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8)" identifier (argument_list "(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x4fb8" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) }))) }))) }) (else_clause "else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" else (compound_statement "{\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" { (expression_statement "pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);" (assignment_expression "pppppppcVar16 = (code *******)(ppppppcStack_118 + -1)" identifier = (cast_expression "(code *******)(ppppppcStack_118 + -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 "(ppppppcStack_118 + -1)" ( (binary_expression "ppppppcStack_118 + -1" identifier + number_literal) )))) ;) (expression_statement "iStack_fc = 1;" (assignment_expression "iStack_fc = 1" identifier = number_literal) ;) (expression_statement "iStack_f4 = *(int *)(puStack_120 + -0x7fc4);" (assignment_expression "iStack_f4 = *(int *)(puStack_120 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);" (assignment_expression "pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8)" identifier = (cast_expression "(code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8)" ( (binary_expression "*(int *)(puStack_120 + -0x7d5c) + 0x7bb8" (pointer_expression "*(int *)(puStack_120 + -0x7d5c)" * (cast_expression "(int *)(puStack_120 + -0x7d5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7d5c)" ( (binary_expression "puStack_120 + -0x7d5c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_cc = *(int *)(puStack_120 + -0x7fc4);" (assignment_expression "iStack_cc = *(int *)(puStack_120 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);" (assignment_expression "pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738)" identifier = (cast_expression "(code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7de0) + 0x1738)" ( (binary_expression "*(int *)(puStack_120 + -0x7de0) + 0x1738" (pointer_expression "*(int *)(puStack_120 + -0x7de0)" * (cast_expression "(int *)(puStack_120 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7de0)" ( (binary_expression "puStack_120 + -0x7de0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);" (assignment_expression "pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4)" identifier = (cast_expression "(code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4)" ( (binary_expression "*(int *)(puStack_120 + -0x7cf4) + -0x7dd4" (pointer_expression "*(int *)(puStack_120 + -0x7cf4)" * (cast_expression "(int *)(puStack_120 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7cf4)" ( (binary_expression "puStack_120 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar4 = pcStack_e4;" (assignment_expression "pcVar4 = pcStack_e4" identifier = identifier) ;) (expression_statement "pppppppcStack_f8 = pppppppcVar35;" (assignment_expression "pppppppcStack_f8 = pppppppcVar35" identifier = identifier) ;) (expression_statement "pppppcStack_e8 = unaff_s7;" (assignment_expression "pppppcStack_e8 = unaff_s7" identifier = identifier) ;) (expression_statement "pppppppcStack_d8 = param_3;" (assignment_expression "pppppppcStack_d8 = param_3" identifier = identifier) ;) (expression_statement "pppppppcStack_64 = pppppppcVar21;" (assignment_expression "pppppppcStack_64 = pppppppcVar21" identifier = identifier) ;) (do_statement "do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));" do (compound_statement "{\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        }" { (expression_statement "ppppppcVar20[9] = (code *****)unaff_s2;" (assignment_expression "ppppppcVar20[9] = (code *****)unaff_s2" (subscript_expression "ppppppcVar20[9]" identifier [ number_literal ]) = (cast_expression "(code *****)unaff_s2" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;" (assignment_expression "pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4" identifier = (binary_expression "(code *******)(uint)*(ushort *)pcVar4" (cast_expression "(code *******)(uint)" ( (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)" ( identifier ))) * (cast_expression "(ushort *)pcVar4" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }" if (parenthesized_expression "((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21))" ( (binary_expression "(pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)" (parenthesized_expression "(pppppppcVar21 < pppppppcVar24)" ( (binary_expression "pppppppcVar21 < pppppppcVar24" identifier < identifier) )) || (parenthesized_expression "(pppppppcVar16 < pppppppcVar21)" ( (binary_expression "pppppppcVar16 < pppppppcVar21" identifier < identifier) ))) )) (compound_statement "{\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }" { (expression_statement "pppppppcStack_128 = pppppppcVar16;" (assignment_expression "pppppppcStack_128 = pppppppcVar16" identifier = identifier) ;) (expression_statement "(*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);" (call_expression "(*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24)" ( identifier , (binary_expression "iStack_f4 + -0x504c" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iStack_fc = 0;" (assignment_expression "iStack_fc = 0" identifier = number_literal) ;) (expression_statement "pppppppcVar8 = pppppppcVar21;" (assignment_expression "pppppppcVar8 = pppppppcVar21" identifier = identifier) ;) }) (else_clause "else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }" else (compound_statement "{\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }" { (expression_statement "pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);" (assignment_expression "pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21)" identifier = (cast_expression "(code *)((int)param_2 + (int)pppppppcVar21)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + (int)pppppppcVar21)" ( (binary_expression "(int)param_2 + (int)pppppppcVar21" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar8 = (code *******)&pppppppcStack_b0;" (assignment_expression "pppppppcVar8 = (code *******)&pppppppcStack_b0" identifier = (cast_expression "(code *******)&pppppppcStack_b0" ( (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 "&pppppppcStack_b0" & identifier))) ;) (expression_statement "(**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);" (call_expression "(**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5)" (parenthesized_expression "(**(code **)(pbStack_b4 + 0x50))" ( (pointer_expression "**(code **)(pbStack_b4 + 0x50)" * (pointer_expression "*(code **)(pbStack_b4 + 0x50)" * (cast_expression "(code **)(pbStack_b4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbStack_b4 + 0x50)" ( (binary_expression "pbStack_b4 + 0x50" identifier + number_literal) ))))) )) (argument_list "(pbStack_b4,pcVar5)" ( identifier , identifier ))) ;) (if_statement "if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }" if (parenthesized_expression "(ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e))" ( (binary_expression "ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)" identifier < (cast_expression "(code ******)((int)pppppppcVar21 + (uint)uStack_9e)" ( (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)pppppppcVar21 + (uint)uStack_9e)" ( (binary_expression "(int)pppppppcVar21 + (uint)uStack_9e" (cast_expression "(int)pppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)uStack_9e" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) )) (compound_statement "{\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }" { (expression_statement "(*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);" (call_expression "(*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x502c" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iStack_fc = 0;" (assignment_expression "iStack_fc = 0" identifier = number_literal) ;) }) (else_clause "else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }" else (compound_statement "{\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }" { (if_statement "if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }" if (parenthesized_expression "(pbStack_b4[2] != 0)" ( (binary_expression "pbStack_b4[2] != 0" (subscript_expression "pbStack_b4[2]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }" { (if_statement "if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }" if (parenthesized_expression "(iStack_104 == 0)" ( (binary_expression "iStack_104 == 0" identifier == number_literal) )) (compound_statement "{\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }" if (parenthesized_expression "(((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54))))" ( (binary_expression "((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))" (parenthesized_expression "((int)pppppppcStack_b0 < (int)local_58)" ( (binary_expression "(int)pppppppcStack_b0 < (int)local_58" (cast_expression "(int)pppppppcStack_b0" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))" ( (parenthesized_expression "(local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54))" ( (binary_expression "local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)" (binary_expression "local_58 == pppppppcStack_b0" identifier == identifier) && (parenthesized_expression "(ppppppcStack_ac < ppppppcStack_54)" ( (binary_expression "ppppppcStack_ac < ppppppcStack_54" identifier < identifier) ))) )) ))) )) (compound_statement "{\nLAB_000a89e0:\n                    bVar2 = false;\n                  }" { (labeled_statement "LAB_000a89e0:\n                    bVar2 = false;" statement_identifier : (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;)) })) }) (else_clause "else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }" else (compound_statement "{\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }" if (parenthesized_expression "((int)pppppppcStack_b0 <= (int)local_58)" ( (binary_expression "(int)pppppppcStack_b0 <= (int)local_58" (cast_expression "(int)pppppppcStack_b0" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }" { (if_statement "if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;" if (parenthesized_expression "(pppppppcStack_b0 != local_58)" ( (binary_expression "pppppppcStack_b0 != local_58" identifier != identifier) )) (goto_statement "goto LAB_000a89e0;" goto statement_identifier ;)) (if_statement "if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }" if (parenthesized_expression "(ppppppcStack_ac <= ppppppcStack_54)" ( (binary_expression "ppppppcStack_ac <= ppppppcStack_54" identifier <= identifier) )) (compound_statement "{\n                      bVar2 = false;\n                    }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) })) })) }))) (if_statement "if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }" { (expression_statement "(*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);" (call_expression "(*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x5014" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" identifier = number_literal) ;) (expression_statement "local_58 = pppppppcStack_b0;" (assignment_expression "local_58 = pppppppcStack_b0" identifier = identifier) ;) (expression_statement "ppppppcStack_54 = ppppppcStack_ac;" (assignment_expression "ppppppcStack_54 = ppppppcStack_ac" identifier = identifier) ;) })) (if_statement "if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }" if (parenthesized_expression "(uStack_a0 < uStack_a4)" ( (binary_expression "uStack_a0 < uStack_a4" identifier < identifier) )) (compound_statement "{\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }" { (expression_statement "uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));" (assignment_expression "uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4))" identifier = (pointer_expression "*(undefined4 *)(pcVar5 + (uStack_9e - 4))" * (cast_expression "(undefined4 *)(pcVar5 + (uStack_9e - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + (uStack_9e - 4))" ( (binary_expression "pcVar5 + (uStack_9e - 4)" identifier + (parenthesized_expression "(uStack_9e - 4)" ( (binary_expression "uStack_9e - 4" identifier - number_literal) ))) ))))) ;) (if_statement "if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }" if (parenthesized_expression "(pppppppcVar16 == (code *******)0x0)" ( (binary_expression "pppppppcVar16 == (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                  trap(7);\n                }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;" (assignment_expression "uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16" identifier = (binary_expression "(uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16" (call_expression "(uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0))" ( (binary_expression "(int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)" (cast_expression "(int)ppppppcStack_118" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((uStack_a4 - 5) - (uint)uStack_a0)" ( (binary_expression "(uStack_a4 - 5) - (uint)uStack_a0" (parenthesized_expression "(uStack_a4 - 5)" ( (binary_expression "uStack_a4 - 5" identifier - number_literal) )) - (cast_expression "(uint)uStack_a0" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ))) / (cast_expression "(uint)pppppppcVar16" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }" if (parenthesized_expression "(*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_f8 + 0x11)" * (cast_expression "(code *)((int)pppppppcStack_f8 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_f8 + 0x11)" ( (binary_expression "(int)pppppppcStack_f8 + 0x11" (cast_expression "(int)pppppppcStack_f8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }" { (expression_statement "uStack_c0 = uVar42;" (assignment_expression "uStack_c0 = uVar42" identifier = identifier) ;) (expression_statement "uStack_bc = uVar23;" (assignment_expression "uStack_bc = uVar23" identifier = identifier) ;) (expression_statement "FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);" (call_expression "FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64)" identifier (argument_list "(ppppppcVar20,uVar42,3,pppppppcStack_64)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar23 = uStack_bc;" (assignment_expression "uVar23 = uStack_bc" identifier = identifier) ;) (expression_statement "uVar42 = uStack_c0;" (assignment_expression "uVar42 = uStack_c0" identifier = identifier) ;) })) (expression_statement "FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);" (call_expression "FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23)" identifier (argument_list "(ppppppcVar20,0,uVar42,uVar23)" ( identifier , number_literal , identifier , identifier ))) ;) })) (if_statement "if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }" if (parenthesized_expression "(pbStack_b4[8] == 0)" ( (binary_expression "pbStack_b4[8] == 0" (subscript_expression "pbStack_b4[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }" { (expression_statement "uVar42 = *(undefined4 *)pcVar5;" (assignment_expression "uVar42 = *(undefined4 *)pcVar5" identifier = (pointer_expression "*(undefined4 *)pcVar5" * (cast_expression "(undefined4 *)pcVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }" if (parenthesized_expression "(*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_f8 + 0x11)" * (cast_expression "(code *)((int)pppppppcStack_f8 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_f8 + 0x11)" ( (binary_expression "(int)pppppppcStack_f8 + 0x11" (cast_expression "(int)pppppppcStack_f8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }" { (expression_statement "FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);" (call_expression "FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64)" identifier (argument_list "(ppppppcVar20,uVar42,5,pppppppcStack_64)" ( identifier , identifier , number_literal , identifier ))) ;) })) (expression_statement "pppppppcVar8 = (code *******)&local_58;" (assignment_expression "pppppppcVar8 = (code *******)&local_58" identifier = (cast_expression "(code *******)&local_58" ( (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_58" & identifier))) ;) (expression_statement "ppppppcStack_124 = ppppppcStack_54;" (assignment_expression "ppppppcStack_124 = ppppppcStack_54" identifier = identifier) ;) (expression_statement "pppppppcStack_128 = local_58;" (assignment_expression "pppppppcStack_128 = local_58" identifier = identifier) ;) (expression_statement "iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);" (assignment_expression "iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42)" identifier = (call_expression "(*pcStack_e0)(ppppppcVar20,uVar42)" (parenthesized_expression "(*pcStack_e0)" ( (pointer_expression "*pcStack_e0" * identifier) )) (argument_list "(ppppppcVar20,uVar42)" ( identifier , identifier )))) ;) (if_statement "if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }" if (parenthesized_expression "(iVar6 == iStack_108)" ( (binary_expression "iVar6 == iStack_108" identifier == identifier) )) (compound_statement "{\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }" { (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" identifier = number_literal) ;) (expression_statement "iStack_108 = iVar6;" (assignment_expression "iStack_108 = iVar6" identifier = identifier) ;) }) (else_clause "else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }" else (compound_statement "{\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }" { (expression_statement "iStack_108 = iVar6;" (assignment_expression "iStack_108 = iVar6" identifier = identifier) ;) (expression_statement "(*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);" (call_expression "(*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar20,iStack_cc + -0x4ffc)" ( identifier , (binary_expression "iStack_cc + -0x4ffc" identifier + number_literal) ))) ;) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }" else (compound_statement "{\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }" { (expression_statement "pppppppcVar8 = (code *******)(uStack_9e - 1);" (assignment_expression "pppppppcVar8 = (code *******)(uStack_9e - 1)" identifier = (cast_expression "(code *******)(uStack_9e - 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 "(uStack_9e - 1)" ( (binary_expression "uStack_9e - 1" identifier - number_literal) )))) ;) (expression_statement "(*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);" (call_expression "(*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10)" (parenthesized_expression "(*pcStack_d0)" ( (pointer_expression "*pcStack_d0" * identifier) )) (argument_list "(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10)" ( identifier , (binary_expression "(uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10" (call_expression "(uint)((int)pppppppcVar8 + (int)pppppppcVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppppcVar8 + (int)pppppppcVar21)" ( (binary_expression "(int)pppppppcVar8 + (int)pppppppcVar21" (cast_expression "(int)pppppppcVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ))) | (binary_expression "(int)pppppppcVar21 << 0x10" (cast_expression "(int)pppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ))) ;) }))) }))) }))) (expression_statement "unaff_s2 = (code *******)((int)unaff_s2 + -1);" (assignment_expression "unaff_s2 = (code *******)((int)unaff_s2 + -1)" identifier = (cast_expression "(code *******)((int)unaff_s2 + -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)unaff_s2 + -1)" ( (binary_expression "(int)unaff_s2 + -1" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0))" ( (binary_expression "(unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0)" (parenthesized_expression "(unaff_s2 != (code *******)0xffffffff)" ( (binary_expression "unaff_s2 != (code *******)0xffffffff" identifier != (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) && (parenthesized_expression "(pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0)" ( (comma_expression "pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0" (assignment_expression "pcVar4 = pcVar4 + -2" identifier = (binary_expression "pcVar4 + -2" identifier + number_literal)) , (binary_expression "ppppppcVar20[4] != (code *****)0x0" (subscript_expression "ppppppcVar20[4]" identifier [ number_literal ]) != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal))) ))) )) ;) (expression_statement "ppppcVar34 = (code ****)(iStack_108 + 1);" (assignment_expression "ppppcVar34 = (code ****)(iStack_108 + 1)" identifier = (cast_expression "(code ****)(iStack_108 + 1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iStack_108 + 1)" ( (binary_expression "iStack_108 + 1" identifier + number_literal) )))) ;) (expression_statement "pppppppcStack_d8[1] = ppppppcStack_54;" (assignment_expression "pppppppcStack_d8[1] = ppppppcStack_54" (subscript_expression "pppppppcStack_d8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*pppppppcStack_d8 = (code ******)local_58;" (assignment_expression "*pppppppcStack_d8 = (code ******)local_58" (pointer_expression "*pppppppcStack_d8" * identifier) = (cast_expression "(code ******)local_58" ( (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 "ppppppcVar20[7] = (code *****)0x0;" (assignment_expression "ppppppcVar20[7] = (code *****)0x0" (subscript_expression "ppppppcVar20[7]" identifier [ number_literal ]) = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pppppppcVar21 = pppppppcStack_64;" (assignment_expression "pppppppcVar21 = pppppppcStack_64" identifier = identifier) ;) (expression_statement "pppppppcVar35 = pppppppcVar24;" (assignment_expression "pppppppcVar35 = pppppppcVar24" identifier = identifier) ;) (expression_statement "unaff_s5 = pppppppcStack_d8;" (assignment_expression "unaff_s5 = pppppppcStack_d8" identifier = identifier) ;) (expression_statement "unaff_s7 = pppppcStack_e8;" (assignment_expression "unaff_s7 = pppppcStack_e8" identifier = identifier) ;) (if_statement "if (iStack_fc != 0) goto LAB_000a878c;" if (parenthesized_expression "(iStack_fc != 0)" ( (binary_expression "iStack_fc != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a878c;" goto statement_identifier ;)) (expression_statement "*pbStack_b4 = (byte)uStack_f0;" (assignment_expression "*pbStack_b4 = (byte)uStack_f0" (pointer_expression "*pbStack_b4" * identifier) = (cast_expression "(byte)uStack_f0" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }))) }) (else_clause "else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }" else (compound_statement "{\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }" { (expression_statement "iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;" (assignment_expression "iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4" identifier = (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x50d4" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);" statement_identifier : (expression_statement "FUN_000a7bb8(ppppppcVar20,iVar6);" (call_expression "FUN_000a7bb8(ppppppcVar20,iVar6)" identifier (argument_list "(ppppppcVar20,iVar6)" ( identifier , identifier ))) ;)) (expression_statement "ppppcVar34 = (code ****)0x0;" (assignment_expression "ppppcVar34 = (code ****)0x0" identifier = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) }))) (labeled_statement "LAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" statement_identifier : (if_statement "if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" if (parenthesized_expression "(pbStack_b4 != (byte *)0x0)" ( (binary_expression "pbStack_b4 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" { (expression_statement "(*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));" (call_expression "(*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48))" (parenthesized_expression "(*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))" ( (pointer_expression "*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8)" * (cast_expression "(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7de0) + 0xee8)" ( (binary_expression "*(int *)(puStack_120 + -0x7de0) + 0xee8" (pointer_expression "*(int *)(puStack_120 + -0x7de0)" * (cast_expression "(int *)(puStack_120 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7de0)" ( (binary_expression "puStack_120 + -0x7de0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*(undefined4 *)(pbStack_b4 + 0x48))" ( (pointer_expression "*(undefined4 *)(pbStack_b4 + 0x48)" * (cast_expression "(undefined4 *)(pbStack_b4 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbStack_b4 + 0x48)" ( (binary_expression "pbStack_b4 + 0x48" identifier + number_literal) )))) ))) ;) }))) (expression_statement "ppppppcVar20[7] = pppppcStack_114;" (assignment_expression "ppppppcVar20[7] = pppppcStack_114" (subscript_expression "ppppppcVar20[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar20[8] = pppppcStack_110;" (assignment_expression "ppppppcVar20[8] = pppppcStack_110" (subscript_expression "ppppppcVar20[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar20[9] = pppppcStack_10c;" (assignment_expression "ppppppcVar20[9] = pppppcStack_10c" (subscript_expression "ppppppcVar20[9]" identifier [ number_literal ]) = identifier) ;) }))) (if_statement "if (ppppppcStack_94 == (code ******)*piVar30) {\n    return ppppcVar34;\n  }" if (parenthesized_expression "(ppppppcStack_94 == (code ******)*piVar30)" ( (binary_expression "ppppppcStack_94 == (code ******)*piVar30" identifier == (cast_expression "(code ******)*piVar30" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*piVar30" * identifier))) )) (compound_statement "{\n    return ppppcVar34;\n  }" { (return_statement "return ppppcVar34;" return identifier ;) })) (expression_statement "pcVar4 = *(code **)(puStack_120 + -0x7b28);" (assignment_expression "pcVar4 = *(code **)(puStack_120 + -0x7b28)" identifier = (pointer_expression "*(code **)(puStack_120 + -0x7b28)" * (cast_expression "(code **)(puStack_120 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_120 + -0x7b28)" ( (binary_expression "puStack_120 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "uVar42 = 0xa8b38;" (assignment_expression "uVar42 = 0xa8b38" identifier = number_literal) ;) (expression_statement "ppppppcVar19 = ppppppcStack_94;" (assignment_expression "ppppppcVar19 = ppppppcStack_94" identifier = identifier) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (expression_statement "piVar25 = (int *)&DAT_000001f8;" (assignment_expression "piVar25 = (int *)&DAT_000001f8" identifier = (cast_expression "(int *)&DAT_000001f8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001f8" & identifier))) ;) (expression_statement "piVar37 = *(int **)(pcVar4 + 0xe82ec);" (assignment_expression "piVar37 = *(int **)(pcVar4 + 0xe82ec)" identifier = (pointer_expression "*(int **)(pcVar4 + 0xe82ec)" * (cast_expression "(int **)(pcVar4 + 0xe82ec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe82ec)" ( (binary_expression "pcVar4 + 0xe82ec" identifier + number_literal) ))))) ;) (expression_statement "uStack_3b0 = 0;" (assignment_expression "uStack_3b0 = 0" identifier = number_literal) ;) (expression_statement "uStack_3ac = 0;" (assignment_expression "uStack_3ac = 0" identifier = number_literal) ;) (expression_statement "uStack_3a8 = 0;" (assignment_expression "uStack_3a8 = 0" identifier = number_literal) ;) (expression_statement "uStack_3a4 = 0;" (assignment_expression "uStack_3a4 = 0" identifier = number_literal) ;) (expression_statement "uStack_3a0 = 0;" (assignment_expression "uStack_3a0 = 0" identifier = number_literal) ;) (expression_statement "uStack_39c = 0;" (assignment_expression "uStack_39c = 0" identifier = number_literal) ;) (expression_statement "iStack_398 = 0;" (assignment_expression "iStack_398 = 0" identifier = number_literal) ;) (expression_statement "uStack_394 = 0;" (assignment_expression "uStack_394 = 0" identifier = number_literal) ;) (expression_statement "ppppcStack_164 = (code ****)*piVar37;" (assignment_expression "ppppcStack_164 = (code ****)*piVar37" identifier = (cast_expression "(code ****)*piVar37" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*piVar37" * identifier))) ;) (expression_statement "piStack_160 = piVar30;" (assignment_expression "piStack_160 = piVar30" identifier = identifier) ;) (expression_statement "pppppppcStack_15c = pppppppcVar21;" (assignment_expression "pppppppcStack_15c = pppppppcVar21" identifier = identifier) ;) (expression_statement "pppppppcStack_158 = unaff_s2;" (assignment_expression "pppppppcStack_158 = unaff_s2" identifier = identifier) ;) (expression_statement "ppppcStack_154 = ppppcVar34;" (assignment_expression "ppppcStack_154 = ppppcVar34" identifier = identifier) ;) (expression_statement "pppppppcStack_150 = pppppppcVar35;" (assignment_expression "pppppppcStack_150 = pppppppcVar35" identifier = identifier) ;) (expression_statement "pppppppcStack_14c = unaff_s5;" (assignment_expression "pppppppcStack_14c = unaff_s5" identifier = identifier) ;) (expression_statement "pppppppcStack_148 = param_2;" (assignment_expression "pppppppcStack_148 = param_2" identifier = identifier) ;) (expression_statement "pppppcStack_144 = unaff_s7;" (assignment_expression "pppppcStack_144 = unaff_s7" identifier = identifier) ;) (expression_statement "ppppppcStack_140 = ppppppcVar20;" (assignment_expression "ppppppcStack_140 = ppppppcVar20" identifier = identifier) ;) (expression_statement "uStack_13c = uVar42;" (assignment_expression "uStack_13c = uVar42" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar4 + 0xe8220))(auStack_360);" (call_expression "(**(code **)(pcVar4 + 0xe8220))(auStack_360)" (parenthesized_expression "(**(code **)(pcVar4 + 0xe8220))" ( (pointer_expression "**(code **)(pcVar4 + 0xe8220)" * (pointer_expression "*(code **)(pcVar4 + 0xe8220)" * (cast_expression "(code **)(pcVar4 + 0xe8220)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe8220)" ( (binary_expression "pcVar4 + 0xe8220" identifier + number_literal) ))))) )) (argument_list "(auStack_360)" ( identifier ))) ;) (expression_statement "ppppppcVar20 = *pppppppcVar8;" (assignment_expression "ppppppcVar20 = *pppppppcVar8" identifier = (pointer_expression "*pppppppcVar8" * identifier)) ;) (expression_statement "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))();" (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))" ( (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68)" * (cast_expression "(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe8070) + 0x7f68)" ( (binary_expression "*(int *)(pcVar4 + 0xe8070) + 0x7f68" (pointer_expression "*(int *)(pcVar4 + 0xe8070)" * (cast_expression "(int *)(pcVar4 + 0xe8070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe8070)" ( (binary_expression "pcVar4 + 0xe8070" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "cStack_34c = (char)extraout_v1;" (assignment_expression "cStack_34c = (char)extraout_v1" identifier = (cast_expression "(char)extraout_v1" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);\n    uVar23 = 1;\n    ppppppcVar20 = pppppppcVar8[1];\n    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();\n    if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }\n  }" if (parenthesized_expression "((extraout_v1 & 0xff) - 1 < 5)" ( (binary_expression "(extraout_v1 & 0xff) - 1 < 5" (binary_expression "(extraout_v1 & 0xff) - 1" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) - number_literal) < number_literal) )) (compound_statement "{\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);\n    uVar23 = 1;\n    ppppppcVar20 = pppppppcVar8[1];\n    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();\n    if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }\n  }" { (expression_statement "bStack_349 = ((char)extraout_v1 + '\x01') * '\b';" (assignment_expression "bStack_349 = ((char)extraout_v1 + '\x01') * '\b'" identifier = (binary_expression "((char)extraout_v1 + '\x01') * '\b'" (parenthesized_expression "((char)extraout_v1 + '\x01')" ( (binary_expression "(char)extraout_v1 + '\x01'" (cast_expression "(char)extraout_v1" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) )) * (char_literal "'\b'" ' escape_sequence '))) ;) (expression_statement "bStack_34b = (byte)((extraout_v1 & 0xff) << 1);" (assignment_expression "bStack_34b = (byte)((extraout_v1 & 0xff) << 1)" identifier = (call_expression "(byte)((extraout_v1 & 0xff) << 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1 & 0xff) << 1)" ( (binary_expression "(extraout_v1 & 0xff) << 1" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) << number_literal) )))) ;) (expression_statement "iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);" (assignment_expression "iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1])" identifier = (call_expression "(**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1])" (parenthesized_expression "(**(code **)(pcVar4 + 0xe7e84))" ( (pointer_expression "**(code **)(pcVar4 + 0xe7e84)" * (pointer_expression "*(code **)(pcVar4 + 0xe7e84)" * (cast_expression "(code **)(pcVar4 + 0xe7e84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe7e84)" ( (binary_expression "pcVar4 + 0xe7e84" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar8[1])" ( (subscript_expression "pppppppcVar8[1]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" identifier = number_literal) ;) (expression_statement "ppppppcVar20 = pppppppcVar8[1];" (assignment_expression "ppppppcVar20 = pppppppcVar8[1]" identifier = (subscript_expression "pppppppcVar8[1]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();" (assignment_expression "iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))()" identifier = (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))" ( (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88)" * (cast_expression "(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe8088) + 0x6c88)" ( (binary_expression "*(int *)(pcVar4 + 0xe8088) + 0x6c88" (pointer_expression "*(int *)(pcVar4 + 0xe8088)" * (cast_expression "(int *)(pcVar4 + 0xe8088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe8088)" ( (binary_expression "pcVar4 + 0xe8088" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (if_statement "if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }" if (parenthesized_expression "(3 < iVar6)" ( (binary_expression "3 < iVar6" number_literal < identifier) )) (compound_statement "{\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }" { (expression_statement "uVar23 = (uint)bStack_349;" (assignment_expression "uVar23 = (uint)bStack_349" identifier = (cast_expression "(uint)bStack_349" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);" (assignment_expression "ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3)" identifier = (binary_expression "(code ******)(uint)*(byte *)(iStack_398 + 3)" (cast_expression "(code ******)(uint)" ( (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)" ( identifier ))) * (cast_expression "(byte *)(iStack_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 3)" ( (binary_expression "iStack_398 + 3" identifier + number_literal) ))))) ;) (if_statement "if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }" if (parenthesized_expression "((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6)" ( (binary_expression "(int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6" (cast_expression "(int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23)" ( (binary_expression "(int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23" (cast_expression "(int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40)" ( (binary_expression "(code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40" (binary_expression "(code ******)(uint)*(byte *)(iStack_398 + 3)" (cast_expression "(code ******)(uint)" ( (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)" ( identifier ))) * (cast_expression "(byte *)(iStack_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 3)" ( (binary_expression "iStack_398 + 3" identifier + number_literal) )))) + (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x40" (binary_expression "(uint)*(byte *)(iStack_398 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 2)" ( (binary_expression "iStack_398 + 2" identifier + number_literal) )))) * number_literal)) ))) * identifier) ))) <= identifier) )) (compound_statement "{\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }" { (expression_statement "iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);" (assignment_expression "iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0)" identifier = (call_expression "(**(code **)(pcVar4 + 0xe80f8))(0)" (parenthesized_expression "(**(code **)(pcVar4 + 0xe80f8))" ( (pointer_expression "**(code **)(pcVar4 + 0xe80f8)" * (pointer_expression "*(code **)(pcVar4 + 0xe80f8)" * (cast_expression "(code **)(pcVar4 + 0xe80f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe80f8)" ( (binary_expression "pcVar4 + 0xe80f8" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (if_statement "if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }" if (parenthesized_expression "((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0)" ( (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0" (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)" (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100" (binary_expression "(uint)*(byte *)(iStack_398 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 2)" ( (binary_expression "iStack_398 + 2" identifier + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)(iStack_398 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 3)" ( (binary_expression "iStack_398 + 3" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }" { (expression_statement "iVar10 = *(int *)(pcVar4 + 0xe7e20);" (assignment_expression "iVar10 = *(int *)(pcVar4 + 0xe7e20)" identifier = (pointer_expression "*(int *)(pcVar4 + 0xe7e20)" * (cast_expression "(int *)(pcVar4 + 0xe7e20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7e20)" ( (binary_expression "pcVar4 + 0xe7e20" identifier + number_literal) ))))) ;) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (expression_statement "iVar11 = *(int *)(pcVar4 + 0xe806c);" (assignment_expression "iVar11 = *(int *)(pcVar4 + 0xe806c)" identifier = (pointer_expression "*(int *)(pcVar4 + 0xe806c)" * (cast_expression "(int *)(pcVar4 + 0xe806c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe806c)" ( (binary_expression "pcVar4 + 0xe806c" identifier + number_literal) ))))) ;) (expression_statement "pcVar5 = *(code **)(pcVar4 + 0xe80c0);" (assignment_expression "pcVar5 = *(code **)(pcVar4 + 0xe80c0)" identifier = (pointer_expression "*(code **)(pcVar4 + 0xe80c0)" * (cast_expression "(code **)(pcVar4 + 0xe80c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe80c0)" ( (binary_expression "pcVar4 + 0xe80c0" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);" (call_expression "(*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390)" (parenthesized_expression "(*(code *)(iVar11 + 0x17dc))" ( (pointer_expression "*(code *)(iVar11 + 0x17dc)" * (cast_expression "(code *)(iVar11 + 0x17dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x17dc)" ( (binary_expression "iVar11 + 0x17dc" identifier + number_literal) )))) )) (argument_list "(auStack_360,&uStack_3b0,0,&uStack_390)" ( identifier , (pointer_expression "&uStack_3b0" & identifier) , number_literal , (pointer_expression "&uStack_390" & identifier) ))) ;) (expression_statement "iVar12 = *(int *)(pcVar4 + 0xe7e24);" (assignment_expression "iVar12 = *(int *)(pcVar4 + 0xe7e24)" identifier = (pointer_expression "*(int *)(pcVar4 + 0xe7e24)" * (cast_expression "(int *)(pcVar4 + 0xe7e24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7e24)" ( (binary_expression "pcVar4 + 0xe7e24" identifier + number_literal) ))))) ;) (expression_statement "iVar31 = *(int *)(pcVar4 + 0xe7e24);" (assignment_expression "iVar31 = *(int *)(pcVar4 + 0xe7e24)" identifier = (pointer_expression "*(int *)(pcVar4 + 0xe7e24)" * (cast_expression "(int *)(pcVar4 + 0xe7e24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7e24)" ( (binary_expression "pcVar4 + 0xe7e24" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(pcVar4 + 0xe7e24);" (assignment_expression "iVar13 = *(int *)(pcVar4 + 0xe7e24)" identifier = (pointer_expression "*(int *)(pcVar4 + 0xe7e24)" * (cast_expression "(int *)(pcVar4 + 0xe7e24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7e24)" ( (binary_expression "pcVar4 + 0xe7e24" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }" { (expression_statement "sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);" (call_expression "sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c)" identifier (argument_list "(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c)" ( identifier , (binary_expression "iVar12 + -0x4f84" identifier + number_literal) , identifier , identifier ))) ;) (if_statement "if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }" if (parenthesized_expression "(bStack_34b != 0)" ( (binary_expression "bStack_34b != 0" identifier != number_literal) )) (compound_statement "{\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }" { (expression_statement "pfVar38 = afStack_388;" (assignment_expression "pfVar38 = afStack_388" identifier = identifier) ;) (expression_statement "iVar41 = 0;" (assignment_expression "iVar41 = 0" identifier = number_literal) ;) (do_statement "do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);" do (compound_statement "{\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              }" { (expression_statement "fVar43 = *pfVar38;" (assignment_expression "fVar43 = *pfVar38" identifier = (pointer_expression "*pfVar38" * identifier)) ;) (expression_statement "iVar41 = iVar41 + 1;" (assignment_expression "iVar41 = iVar41 + 1" identifier = (binary_expression "iVar41 + 1" identifier + number_literal)) ;) (expression_statement "pfVar38 = pfVar38 + 1;" (assignment_expression "pfVar38 = pfVar38 + 1" identifier = (binary_expression "pfVar38 + 1" identifier + number_literal)) ;) (expression_statement "sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));" (call_expression "sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0))" identifier (argument_list "(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0))" ( identifier , (binary_expression "iVar31 + -0x4f7c" identifier + number_literal) , (cast_expression "(int)((ulonglong)(double)fVar43 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)fVar43 >> 0x20)" ( (binary_expression "(ulonglong)(double)fVar43 >> 0x20" (cast_expression "(ulonglong)(double)fVar43" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)fVar43" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) , (call_expression "SUB84((double)fVar43,0)" identifier (argument_list "((double)fVar43,0)" ( (cast_expression "(double)fVar43" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) ))) ;) }) while (parenthesized_expression "(iVar41 < (int)(uint)bStack_34b)" ( (binary_expression "iVar41 < (int)(uint)bStack_34b" identifier < (cast_expression "(int)(uint)bStack_34b" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)bStack_34b" ( (type_descriptor "uint" type_identifier) ) identifier))) )) ;) })) (expression_statement "iVar36 = iVar36 + 1;" (assignment_expression "iVar36 = iVar36 + 1" identifier = (binary_expression "iVar36 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar5)(iVar6,iVar10 + 0x1300,1);" (call_expression "(*pcVar5)(iVar6,iVar10 + 0x1300,1)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(iVar6,iVar10 + 0x1300,1)" ( identifier , (binary_expression "iVar10 + 0x1300" identifier + number_literal) , number_literal ))) ;) (if_statement "if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;" if (parenthesized_expression "((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36)" ( (binary_expression "(int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36" (cast_expression "(int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3))" ( (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)" (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100" (binary_expression "(uint)*(byte *)(iStack_398 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 2)" ( (binary_expression "iStack_398 + 2" identifier + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)(iStack_398 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 3)" ( (binary_expression "iStack_398 + 3" identifier + number_literal) ))))) ))) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "(*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);" (call_expression "(*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390)" (parenthesized_expression "(*(code *)(iVar11 + 0x17dc))" ( (pointer_expression "*(code *)(iVar11 + 0x17dc)" * (cast_expression "(code *)(iVar11 + 0x17dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x17dc)" ( (binary_expression "iVar11 + 0x17dc" identifier + number_literal) )))) )) (argument_list "(auStack_360,&uStack_3b0,iVar36,&uStack_390)" ( identifier , (pointer_expression "&uStack_3b0" & identifier) , identifier , (pointer_expression "&uStack_390" & identifier) ))) ;) (expression_statement "(*pcVar5)(iVar6,iVar13 + -0x4854,1);" (call_expression "(*pcVar5)(iVar6,iVar13 + -0x4854,1)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(iVar6,iVar13 + -0x4854,1)" ( identifier , (binary_expression "iVar13 + -0x4854" identifier + number_literal) , number_literal ))) ;) })) })) (if_statement "if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }" { (expression_statement "uVar23 = 7;" (assignment_expression "uVar23 = 7" identifier = number_literal) ;) (expression_statement "piVar25 = (int *)0x0;" (assignment_expression "piVar25 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }" else (compound_statement "{\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }" { (expression_statement "uVar23 = (uint)*(byte *)(iVar6 + 0x14);" (assignment_expression "uVar23 = (uint)*(byte *)(iVar6 + 0x14)" identifier = (binary_expression "(uint)*(byte *)(iVar6 + 0x14)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar6 + 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }" if (parenthesized_expression "(iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98)" ( (binary_expression "iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98" identifier == (binary_expression "*(int *)(pcVar4 + 0xe7e10) + -0xb98" (pointer_expression "*(int *)(pcVar4 + 0xe7e10)" * (cast_expression "(int *)(pcVar4 + 0xe7e10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7e10)" ( (binary_expression "pcVar4 + 0xe7e10" identifier + number_literal) )))) + number_literal)) )) (compound_statement "{\n            piVar25 = (int *)0x0;\n          }" { (expression_statement "piVar25 = (int *)0x0;" (assignment_expression "piVar25 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }" else (compound_statement "{\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }" { (expression_statement "piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);" (assignment_expression "piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6)" identifier = (cast_expression "(int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6)" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))" ( (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48)" * (cast_expression "(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe8070) + 0x1f48)" ( (binary_expression "*(int *)(pcVar4 + 0xe8070) + 0x1f48" (pointer_expression "*(int *)(pcVar4 + 0xe8070)" * (cast_expression "(int *)(pcVar4 + 0xe8070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe8070)" ( (binary_expression "pcVar4 + 0xe8070" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar6)" ( identifier ))))) ;) }))) }))) (expression_statement "(*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));" (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34))" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))" ( (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0)" * (cast_expression "(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe8088) + -0x13c0)" ( (binary_expression "*(int *)(pcVar4 + 0xe8088) + -0x13c0" (pointer_expression "*(int *)(pcVar4 + 0xe8088)" * (cast_expression "(int *)(pcVar4 + 0xe8088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe8088)" ( (binary_expression "pcVar4 + 0xe8088" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34))" ( identifier , (binary_expression "ppppppcVar19 + 5" identifier + number_literal) , identifier , number_literal , number_literal , (pointer_expression "*(undefined4 *)(pcVar4 + 0xe7e34)" * (cast_expression "(undefined4 *)(pcVar4 + 0xe7e34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7e34)" ( (binary_expression "pcVar4 + 0xe7e34" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(pcVar4 + 0xe7e9c))();" (call_expression "(**(code **)(pcVar4 + 0xe7e9c))()" (parenthesized_expression "(**(code **)(pcVar4 + 0xe7e9c))" ( (pointer_expression "**(code **)(pcVar4 + 0xe7e9c)" * (pointer_expression "*(code **)(pcVar4 + 0xe7e9c)" * (cast_expression "(code **)(pcVar4 + 0xe7e9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe7e9c)" ( (binary_expression "pcVar4 + 0xe7e9c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppcVar20 = ppppppcVar19;" (assignment_expression "ppppppcVar20 = ppppppcVar19" identifier = identifier) ;) })) })) })) (expression_statement "ppppcVar34 = (code ****)*piVar37;" (assignment_expression "ppppcVar34 = (code ****)*piVar37" identifier = (cast_expression "(code ****)*piVar37" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*piVar37" * identifier))) ;) (if_statement "if (ppppcStack_164 == ppppcVar34) {\n    return ppppcVar34;\n  }" if (parenthesized_expression "(ppppcStack_164 == ppppcVar34)" ( (binary_expression "ppppcStack_164 == ppppcVar34" identifier == identifier) )) (compound_statement "{\n    return ppppcVar34;\n  }" { (return_statement "return ppppcVar34;" return identifier ;) })) (expression_statement "pcVar4 = *(code **)(pcVar4 + 0xe82c0);" (assignment_expression "pcVar4 = *(code **)(pcVar4 + 0xe82c0)" identifier = (pointer_expression "*(code **)(pcVar4 + 0xe82c0)" * (cast_expression "(code **)(pcVar4 + 0xe82c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe82c0)" ( (binary_expression "pcVar4 + 0xe82c0" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5) {\n    return (code ****)0x5;\n  }" if (parenthesized_expression "(*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5)" ( (binary_expression "*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5" (pointer_expression "*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c)" * (cast_expression "(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c)" ( (binary_expression "(*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c" (binary_expression "(*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc)" (parenthesized_expression "(*(ushort *)(*piVar25 + 8) & 0x1f)" ( (binary_expression "*(ushort *)(*piVar25 + 8) & 0x1f" (pointer_expression "*(ushort *)(*piVar25 + 8)" * (cast_expression "(ushort *)(*piVar25 + 8)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar25 + 8)" ( (binary_expression "*piVar25 + 8" (pointer_expression "*piVar25" * identifier) + number_literal) )))) & number_literal) )) + (pointer_expression "*(int *)(pcVar4 + 0xe7acc)" * (cast_expression "(int *)(pcVar4 + 0xe7acc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7acc)" ( (binary_expression "pcVar4 + 0xe7acc" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    return (code ****)0x5;\n  }" { (return_statement "return (code ****)0x5;" return (cast_expression "(code ****)0x5" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal) ;) })) (expression_statement "pppppcVar15 = ppppppcVar20[2];" (assignment_expression "pppppcVar15 = ppppppcVar20[2]" identifier = (subscript_expression "ppppppcVar20[2]" identifier [ number_literal ])) ;) (expression_statement "ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000);" (assignment_expression "ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000)" identifier = (cast_expression "(code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(ushort *)(pppppcVar15 + 2) & 0x2000)" ( (binary_expression "*(ushort *)(pppppcVar15 + 2) & 0x2000" (pointer_expression "*(ushort *)(pppppcVar15 + 2)" * (cast_expression "(ushort *)(pppppcVar15 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppcVar15 + 2)" ( (binary_expression "pppppcVar15 + 2" identifier + number_literal) )))) & number_literal) )))) ;) (if_statement "if ((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0) {\n    ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);\n    ppppcVar28 = ppppcVar34;\n  }\n  else {\n    ppppcVar28 = pppppcVar15[4];\n  }" if (parenthesized_expression "((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0)" ( (binary_expression "(*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0" (parenthesized_expression "(*(ushort *)(pppppcVar15 + 2) & 0x2000)" ( (binary_expression "*(ushort *)(pppppcVar15 + 2) & 0x2000" (pointer_expression "*(ushort *)(pppppcVar15 + 2)" * (cast_expression "(ushort *)(pppppcVar15 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppcVar15 + 2)" ( (binary_expression "pppppcVar15 + 2" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);\n    ppppcVar28 = ppppcVar34;\n  }" { (expression_statement "ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);" (assignment_expression "ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18)" identifier = (cast_expression "(code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18)" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))" ( (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168)" * (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + -0x4168)" ( (binary_expression "*(int *)(pcVar4 + 0xe7d30) + -0x4168" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" * (cast_expression "(int *)(pcVar4 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7d30)" ( (binary_expression "pcVar4 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppcVar20 + 1,pppppcVar15,0x18)" ( (binary_expression "ppppppcVar20 + 1" identifier + number_literal) , identifier , number_literal ))))) ;) (expression_statement "ppppcVar28 = ppppcVar34;" (assignment_expression "ppppcVar28 = ppppcVar34" identifier = identifier) ;) }) (else_clause "else {\n    ppppcVar28 = pppppcVar15[4];\n  }" else (compound_statement "{\n    ppppcVar28 = pppppcVar15[4];\n  }" { (expression_statement "ppppcVar28 = pppppcVar15[4];" (assignment_expression "ppppcVar28 = pppppcVar15[4]" identifier = (subscript_expression "pppppcVar15[4]" identifier [ number_literal ])) ;) }))) (if_statement "if (ppppcVar28 == (code ****)0x0) {\n    return ppppcVar34;\n  }" if (parenthesized_expression "(ppppcVar28 == (code ****)0x0)" ( (binary_expression "ppppcVar28 == (code ****)0x0" identifier == (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    return ppppcVar34;\n  }" { (return_statement "return ppppcVar34;" return identifier ;) })) (expression_statement "pppcVar14 = ppppcVar28[3];" (assignment_expression "pppcVar14 = ppppcVar28[3]" identifier = (subscript_expression "ppppcVar28[3]" identifier [ number_literal ])) ;) (expression_statement "ppppcVar28[3] = (*ppppppcVar20)[8][0x1b];" (assignment_expression "ppppcVar28[3] = (*ppppppcVar20)[8][0x1b]" (subscript_expression "ppppcVar28[3]" identifier [ number_literal ]) = (subscript_expression "(*ppppppcVar20)[8][0x1b]" (subscript_expression "(*ppppppcVar20)[8]" (parenthesized_expression "(*ppppppcVar20)" ( (pointer_expression "*ppppppcVar20" * identifier) )) [ number_literal ]) [ number_literal ])) ;) (if_statement "if (pppcVar14 == (code ***)0x0) {\n    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar6 = *piVar25;\n  }\n  else {\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }" if (parenthesized_expression "(pppcVar14 == (code ***)0x0)" ( (binary_expression "pppcVar14 == (code ***)0x0" identifier == (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar6 = *piVar25;\n  }" { (expression_statement "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);" (assignment_expression "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" ( (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6f60" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" * (cast_expression "(int *)(pcVar4 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7d30)" ( (binary_expression "pcVar4 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);" (assignment_expression "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" ( (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6c88" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" * (cast_expression "(int *)(pcVar4 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7d30)" ( (binary_expression "pcVar4 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_000a8f8c:\n    iVar6 = *piVar25;" statement_identifier : (expression_statement "iVar6 = *piVar25;" (assignment_expression "iVar6 = *piVar25" identifier = (pointer_expression "*piVar25" * identifier)) ;)) }) (else_clause "else {\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }" else (compound_statement "{\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }" { (if_statement "if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }" if (parenthesized_expression "(uVar23 == 2)" ( (binary_expression "uVar23 == 2" identifier == number_literal) )) (compound_statement "{\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }" { (expression_statement "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);" (assignment_expression "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" ( (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6f60" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" * (cast_expression "(int *)(pcVar4 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7d30)" ( (binary_expression "pcVar4 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar6 = (*pcVar32)(piVar25[1],1);" (assignment_expression "iVar6 = (*pcVar32)(piVar25[1],1)" identifier = (call_expression "(*pcVar32)(piVar25[1],1)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(piVar25[1],1)" ( (subscript_expression "piVar25[1]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);" (assignment_expression "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" ( (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6c88" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" * (cast_expression "(int *)(pcVar4 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7d30)" ( (binary_expression "pcVar4 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar42 = (*pcVar5)(piVar25[1],1);" (assignment_expression "uVar42 = (*pcVar5)(piVar25[1],1)" identifier = (call_expression "(*pcVar5)(piVar25[1],1)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(piVar25[1],1)" ( (subscript_expression "piVar25[1]" identifier [ number_literal ]) , number_literal )))) ;) (if_statement "if (iVar6 == 0) goto LAB_000a8f8c;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000a8f8c;" goto statement_identifier ;)) (expression_statement "pcVar40 = *(code **)(pcVar4 + 0xe7d68);" (assignment_expression "pcVar40 = *(code **)(pcVar4 + 0xe7d68)" identifier = (pointer_expression "*(code **)(pcVar4 + 0xe7d68)" * (cast_expression "(code **)(pcVar4 + 0xe7d68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe7d68)" ( (binary_expression "pcVar4 + 0xe7d68" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }" else (compound_statement "{\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }" { (expression_statement "uVar42 = 1;" (assignment_expression "uVar42 = 1" identifier = number_literal) ;) (expression_statement "iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;" (assignment_expression "iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c" identifier = (binary_expression "*(int *)(pcVar4 + 0xe7ac8) + 0x138c" (pointer_expression "*(int *)(pcVar4 + 0xe7ac8)" * (cast_expression "(int *)(pcVar4 + 0xe7ac8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7ac8)" ( (binary_expression "pcVar4 + 0xe7ac8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);" (assignment_expression "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" ( (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6f60" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" * (cast_expression "(int *)(pcVar4 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7d30)" ( (binary_expression "pcVar4 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);" (assignment_expression "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" ( (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6c88" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" * (cast_expression "(int *)(pcVar4 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7d30)" ( (binary_expression "pcVar4 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar40 = *(code **)(pcVar4 + 0xe7d68);" (assignment_expression "pcVar40 = *(code **)(pcVar4 + 0xe7d68)" identifier = (pointer_expression "*(code **)(pcVar4 + 0xe7d68)" * (cast_expression "(code **)(pcVar4 + 0xe7d68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe7d68)" ( (binary_expression "pcVar4 + 0xe7d68" identifier + number_literal) ))))) ;) }))) (expression_statement "(*pcVar40)(ppppcVar28,iVar6,uVar42);" (call_expression "(*pcVar40)(ppppcVar28,iVar6,uVar42)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(ppppcVar28,iVar6,uVar42)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar6 = *piVar25;" (assignment_expression "iVar6 = *piVar25" identifier = (pointer_expression "*piVar25" * identifier)) ;) }))) (expression_statement "iVar6 = (*pcVar32)(iVar6,1);" (assignment_expression "iVar6 = (*pcVar32)(iVar6,1)" identifier = (call_expression "(*pcVar32)(iVar6,1)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(iVar6,1)" ( identifier , number_literal )))) ;) (expression_statement "ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1);" (assignment_expression "ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1)" identifier = (cast_expression "(code ****)(*pcVar5)(*piVar25,1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*pcVar5)(*piVar25,1)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(*piVar25,1)" ( (pointer_expression "*piVar25" * identifier) , number_literal ))))) ;) (if_statement "if (iVar6 == 0) {\n    return ppppcVar34;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    return ppppcVar34;\n  }" { (return_statement "return ppppcVar34;" return identifier ;) })) comment comment (expression_statement "ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34);" (assignment_expression "ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34)" identifier = (cast_expression "(code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34)" (parenthesized_expression "(**(code **)(pcVar4 + 0xe7d68))" ( (pointer_expression "**(code **)(pcVar4 + 0xe7d68)" * (pointer_expression "*(code **)(pcVar4 + 0xe7d68)" * (cast_expression "(code **)(pcVar4 + 0xe7d68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe7d68)" ( (binary_expression "pcVar4 + 0xe7d68" identifier + number_literal) ))))) )) (argument_list "(ppppcVar28,iVar6,ppppcVar34)" ( identifier , identifier , identifier ))))) ;) (return_statement "return ppppcVar34;" return identifier ;) })))
(translation_unit "void checkList(IntegrityCk *pCheck,int isFreeList,int iPage,u32 N)\n\n{\n  u8 uVar1;\n  bool bVar2;\n  bool bVar3;\n  u8 *puVar4;\n  undefined *puVar5;\n  undefined2 extraout_var;\n  code *pcVar6;\n  code *pcVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined1 *puVar10;\n  BtShared *pBVar11;\n  BtShared *pBVar12;\n  u16 uVar16;\n  uint uVar13;\n  StrAccum *p;\n  int iVar14;\n  int iVar15;\n  int iVar17;\n  uint uVar18;\n  uint extraout_v1;\n  IntegrityCk *pCheck_00;\n  BtShared *pBVar19;\n  uint uVar20;\n  sqlite3 *psVar21;\n  sqlite3 *psVar22;\n  BtShared *pBVar23;\n  u32 uVar24;\n  char *zFormat;\n  uint uVar25;\n  CollSeq *pCVar26;\n  u32 *puVar27;\n  undefined1 *puVar28;\n  int *piVar29;\n  undefined4 uVar30;\n  int iVar31;\n  uint uVar32;\n  ushort *puVar33;\n  uint uVar34;\n  BtShared *unaff_s0;\n  int *piVar35;\n  undefined *unaff_s1;\n  Pgno *pPVar36;\n  ushort *puVar37;\n  _func_void_void_ptr *p_Var38;\n  BtShared *unaff_s2;\n  Pgno PVar39;\n  int iVar40;\n  code *pcVar41;\n  BtShared *unaff_s3;\n  anon_union_500_3_7c964c52_for_u *paVar42;\n  uint uVar43;\n  BtShared *unaff_s4;\n  BtShared *pBVar44;\n  uint uVar45;\n  int iVar46;\n  BtShared *unaff_s5;\n  int *piVar47;\n  Bitvec *unaff_s7;\n  float *pfVar48;\n  undefined *puVar49;\n  code *pcVar50;\n  int iVar51;\n  float fVar52;\n  undefined4 uStack_3b0;\n  undefined4 uStack_3ac;\n  undefined4 uStack_3a8;\n  undefined4 uStack_3a4;\n  undefined4 uStack_3a0;\n  undefined4 uStack_39c;\n  int iStack_398;\n  undefined4 uStack_394;\n  undefined4 uStack_390;\n  undefined4 uStack_38c;\n  float afStack_388 [10];\n  undefined1 auStack_360 [20];\n  char cStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  int iStack_164;\n  int *piStack_160;\n  BtShared *pBStack_15c;\n  BtShared *pBStack_158;\n  int iStack_154;\n  BtShared *pBStack_150;\n  BtShared *pBStack_14c;\n  u8 *puStack_148;\n  Bitvec *pBStack_144;\n  IntegrityCk *pIStack_140;\n  code *pcStack_13c;\n  int iStack_108;\n  MemPage *pMStack_b4;\n  undefined1 auStack_b0 [32];\n  BtShared *pBStack_90;\n  undefined *puStack_8c;\n  BtShared *pBStack_88;\n  u32 uStack_84;\n  BtShared *pBStack_80;\n  BtShared *pBStack_7c;\n  sqlite3_mutex *psStack_78;\n  Bitvec *pBStack_74;\n  IntegrityCk *pIStack_70;\n  BtShared *pBStack_6c;\n  BtShared *pBStack_64;\n  Pager *pPStack_58;\n  sqlite3 *psStack_54;\n  DbPage *pOvflPage;\n  sqlite3 *psStack_2c;\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  puVar49 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  iVar17 = pCheck->nErr;\n  psStack_2c = *(sqlite3 **)PTR___stack_chk_guard_00190e24;\n  if ((iPage == 0) || (pCheck->mxErr == 0)) {\n    pCheck_00 = pCheck;\n    pBVar23 = (BtShared *)isFreeList;\n    pBStack_80 = unaff_s4;\n    if (N != 0) {\n      iVar17 = 0;\nLAB_000a819c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      pCheck_00 = pCheck;\n      pPStack_58 = (Pager *)N;\n      checkAppendMsg(pCheck,(char *)pBVar23,iPage,iVar17);\n      pBStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (BtShared *)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar7 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = (BtShared *)iPage;\n    uVar24 = N;\n    unaff_s3 = unaff_s4;\n    while (pCheck_00 = pCheck, pBVar23 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0) {\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar24 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar23);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_000a8064;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pBVar23 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar23->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar23 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar23;\n        uVar24 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        (*pcVar6)();\n        unaff_s0 = pBVar11;\n      }\n      else {\n        unaff_s2 = (BtShared *)unaff_s7->nSet;\n        if (*puVar4 != '\0') {\n          iPage = (int)&SUB_00000002;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar23 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2) {\n          uVar24 = uVar24 - 2;\n          pBVar23 = (BtShared *)(puVar49 + -0x5124);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar24 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_000a7fb8:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }\n    unaff_s3 = (BtShared *)uVar24;\n    if (uVar24 != 0) {\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_000a8188:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar17) {\n        iVar17 = N - (int)unaff_s3;\n        goto LAB_000a819c;\n      }\n    }\n  }\nLAB_000a8064:\n  if (psStack_2c == *(sqlite3 **)puVar5) {\n    return;\n  }\n  pcVar6 = checkTreePage;\n  puVar49 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  piVar35 = *(int **)(puVar49 + 0xe8bf8);\n  pMStack_b4 = (MemPage *)0x0;\n  auStack_b0._28_4_ = *piVar35;\n  pBVar11 = (BtShared *)iPage;\n  pBVar44 = pBStack_80;\n  pBStack_90 = unaff_s0;\n  puStack_8c = unaff_s1;\n  pBStack_88 = unaff_s2;\n  uStack_84 = (u32)unaff_s3;\n  pBStack_7c = unaff_s5;\n  psStack_78 = (sqlite3_mutex *)isFreeList;\n  pBStack_74 = unaff_s7;\n  pIStack_70 = pCheck;\n  pBStack_6c = (BtShared *)pcVar6;\n  if (pBVar23 == (BtShared *)0x0) {\nLAB_000a8280:\n    iPage = (int)unaff_s5;\n    iStack_108 = 0;\n    pCheck_00 = pCheck;\n  }\n  else {\n    pcVar9 = pCheck_00->zPfx;\n    pBVar44 = pCheck_00->pBt;\n    iVar17 = pCheck_00->v1;\n    iVar8 = pCheck_00->v2;\n    puVar10 = (undefined1 *)pBVar44->usableSize;\n    iVar14 = checkRef(pCheck_00,(Pgno)pBVar23);\n    unaff_s5 = (BtShared *)iPage;\n    pCheck = pCheck_00;\n    if (iVar14 != 0) goto LAB_000a8280;\n    iVar14 = *(int *)(puVar49 + 0xe8730);\n    iVar15 = *(int *)(puVar49 + 0xe8914);\n    pCheck_00->v1 = (int)pBVar23;\n    pCheck_00->zPfx = (char *)(iVar14 + -0x50e0);\n    pBVar11 = (BtShared *)(*(code *)(iVar15 + 0x1420))(pBVar44,pBVar23,&pMStack_b4,0);\n    if (pBVar11 == (BtShared *)0x0) {\n      uVar1 = pMStack_b4->isInit;\n      pMStack_b4->isInit = '\0';\n      pBVar11 = (BtShared *)btreeInitPage(pMStack_b4);\n      if (pBVar11 != (BtShared *)0x0) {\n        zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50ac);\n        goto LAB_000a86a4;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar43 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5084);\n      iVar14 = uVar43 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 5) - 1);\n      uVar25 = (uint)pBVar11 & 0xffff;\n      pBVar19 = (BtShared *)(uVar25 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar39 = *(Pgno *)(isFreeList + uVar43 + 8);\n        if (pBVar44->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068);\n          checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23);\n        }\n        pBVar11 = (BtShared *)&pPStack_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54));\n        bVar2 = false;\n      }\n      else {\n        unaff_s7 = (Bitvec *)pCheck_00->heap;\n        bVar2 = true;\n        unaff_s7->iSize = 0;\n        iStack_108 = -1;\n      }\n      unaff_s2 = pBVar12;\n      if ((pBVar12 == (BtShared *)0xffffffff) || (pCheck_00->mxErr == 0)) {\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_000a878c:\n        if (0 < pCheck_00->mxErr) {\n          if (pMStack_b4->leaf == '\0') {\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }\n          uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);\n          unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);\n          if (uVar45 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }\n          uVar24 = unaff_s7->iSize;\n          if (uVar24 == 0) {\n            puVar28 = (undefined1 *)0x0;\n          }\n          else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));\nLAB_000a898c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }\n        }\n      }\n      else {\n        puVar28 = puVar10 + -4;\n        bVar3 = true;\n        iVar15 = *(int *)(puVar49 + 0xe8730);\n        pcVar6 = (code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8);\n        iVar40 = *(int *)(puVar49 + 0xe8730);\n        iVar46 = *(int *)(puVar49 + 0xe8914);\n        iVar51 = *(int *)(puVar49 + 0xe8a00);\n        puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n        pBStack_64 = pBVar23;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar23 = (BtShared *)(uint)*puVar33;\n          if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }\n          else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar23 = pBStack_64;\n        pBVar44 = pBVar19;\n        if (bVar3) goto LAB_000a878c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }\n    else {\n      zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50d4);\nLAB_000a86a4:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }\nLAB_000a86bc:\n    if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8))(pMStack_b4->pDbPage);\n    }\n    pCheck_00->zPfx = pcVar9;\n    pCheck_00->v1 = iVar17;\n    pCheck_00->v2 = iVar8;\n  }\n  if ((sqlite3 *)auStack_b0._28_4_ == (sqlite3 *)*piVar35) {\n    return;\n  }\n  pcVar6 = *(code **)(puVar49 + 0xe8bcc);\n  pcVar7 = rtreenode;\n  psVar21 = (sqlite3 *)auStack_b0._28_4_;\n  (*pcVar6)();\n  uVar25 = 0;\n  piVar29 = (int *)&DAT_000001f8;\n  piVar47 = *(int **)(pcVar6 + 0xe82ec);\n  uStack_3b0 = 0;\n  uStack_3ac = 0;\n  uStack_3a8 = 0;\n  uStack_3a4 = 0;\n  uStack_3a0 = 0;\n  uStack_39c = 0;\n  iStack_398 = 0;\n  uStack_394 = 0;\n  iStack_164 = *piVar47;\n  piStack_160 = piVar35;\n  pBStack_15c = pBVar23;\n  pBStack_158 = unaff_s2;\n  iStack_154 = iStack_108;\n  pBStack_150 = pBVar44;\n  pBStack_14c = (BtShared *)iPage;\n  puStack_148 = (u8 *)isFreeList;\n  pBStack_144 = unaff_s7;\n  pIStack_140 = pCheck_00;\n  pcStack_13c = pcVar7;\n  (**(code **)(pcVar6 + 0xe8220))(auStack_360);\n  psVar22 = (sqlite3 *)pBVar11->pPager;\n  (*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x7f68))();\n  cStack_34c = (char)extraout_v1;\n  if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar6 + 0xe7e84))(pBVar11->db);\n    uVar25 = 1;\n    psVar22 = pBVar11->db;\n    iVar17 = (*(code *)(*(int *)(pcVar6 + 0xe8088) + 0x6c88))();\n    if (3 < iVar17) {\n      uVar25 = (uint)bStack_349;\n      psVar22 = (sqlite3 *)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b) * uVar25) <= iVar17) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar17 = *(int *)(pcVar6 + 0xe7e20);\n          iVar46 = 0;\n          iVar8 = *(int *)(pcVar6 + 0xe806c);\n          pcVar7 = *(code **)(pcVar6 + 0xe80c0);\n          (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar14 = *(int *)(pcVar6 + 0xe7e24);\n          iVar40 = *(int *)(pcVar6 + 0xe7e24);\n          iVar15 = *(int *)(pcVar6 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }\n            iVar46 = iVar46 + 1;\n            (*pcVar7)(p,iVar17 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46) break;\n            (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);\n            (*pcVar7)(p,iVar15 + -0x4854,1);\n          }\n        }\n        if (p == (StrAccum *)0x0) {\n          uVar25 = 7;\n          piVar29 = (int *)0x0;\n        }\n        else {\n          uVar25 = (uint)p->accError;\n          if (p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)) {\n            piVar29 = (int *)0x0;\n          }\n          else {\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }\n        }\n        (*(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0))\n                  (psVar21,&psVar21->nDb,piVar29,0xffffffff,1,*(undefined4 *)(pcVar6 + 0xe7e34));\n        (**(code **)(pcVar6 + 0xe7e9c))();\n        psVar22 = psVar21;\n      }\n    }\n  }\n  if (iStack_164 == *piVar47) {\n    return;\n  }\n  pcVar6 = *(code **)(pcVar6 + 0xe82c0);\n  (*pcVar6)();\n  if (*(char *)((*(ushort *)(*piVar29 + 8) & 0x1f) + *(int *)(pcVar6 + 0xe7acc) + 0x6a8c) == '\x05')\n  {\n    return;\n  }\n  pCVar26 = psVar22->pDfltColl;\n  if (((uint)pCVar26->pUser & 0x20000000) == 0) {\n    p_Var38 = (_func_void_void_ptr *)\n              (*(code *)(*(int *)(pcVar6 + 0xe7d30) + -0x4168))(&psVar22->pVdbe,pCVar26,0x18);\n  }\n  else {\n    p_Var38 = pCVar26->xDel;\n  }\n  if (p_Var38 == (_func_void_void_ptr *)0x0) {\n    return;\n  }\n  iVar17 = *(int *)(p_Var38 + 0xc);\n  *(undefined4 *)(p_Var38 + 0xc) = *(undefined4 *)(psVar22->pVfs->xAccess + 0x6c);\n  if (iVar17 == 0) {\n    pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n    pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar17 = *piVar29;\n  }\n  else {\n    if (uVar25 == 2) {\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      iVar17 = (*pcVar41)(piVar29[1],1);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      uVar30 = (*pcVar7)(piVar29[1],1);\n      if (iVar17 == 0) goto LAB_000a8f8c;\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }\n    else {\n      uVar30 = 1;\n      iVar17 = *(int *)(pcVar6 + 0xe7ac8) + 0x138c;\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }\n    (*pcVar50)(p_Var38,iVar17,uVar30);\n    iVar17 = *piVar29;\n  }\n  iVar17 = (*pcVar41)(iVar17,1);\n  uVar30 = (*pcVar7)(*piVar29,1);\n  if (iVar17 == 0) {\n    return;\n  }\n                    /* WARNING: Could not recover jumptable at 0x000a8fe0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar6 + 0xe7d68))(p_Var38,iVar17,uVar30);\n  return;\n}\n\n" (function_definition "void checkList(IntegrityCk *pCheck,int isFreeList,int iPage,u32 N)\n\n{\n  u8 uVar1;\n  bool bVar2;\n  bool bVar3;\n  u8 *puVar4;\n  undefined *puVar5;\n  undefined2 extraout_var;\n  code *pcVar6;\n  code *pcVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined1 *puVar10;\n  BtShared *pBVar11;\n  BtShared *pBVar12;\n  u16 uVar16;\n  uint uVar13;\n  StrAccum *p;\n  int iVar14;\n  int iVar15;\n  int iVar17;\n  uint uVar18;\n  uint extraout_v1;\n  IntegrityCk *pCheck_00;\n  BtShared *pBVar19;\n  uint uVar20;\n  sqlite3 *psVar21;\n  sqlite3 *psVar22;\n  BtShared *pBVar23;\n  u32 uVar24;\n  char *zFormat;\n  uint uVar25;\n  CollSeq *pCVar26;\n  u32 *puVar27;\n  undefined1 *puVar28;\n  int *piVar29;\n  undefined4 uVar30;\n  int iVar31;\n  uint uVar32;\n  ushort *puVar33;\n  uint uVar34;\n  BtShared *unaff_s0;\n  int *piVar35;\n  undefined *unaff_s1;\n  Pgno *pPVar36;\n  ushort *puVar37;\n  _func_void_void_ptr *p_Var38;\n  BtShared *unaff_s2;\n  Pgno PVar39;\n  int iVar40;\n  code *pcVar41;\n  BtShared *unaff_s3;\n  anon_union_500_3_7c964c52_for_u *paVar42;\n  uint uVar43;\n  BtShared *unaff_s4;\n  BtShared *pBVar44;\n  uint uVar45;\n  int iVar46;\n  BtShared *unaff_s5;\n  int *piVar47;\n  Bitvec *unaff_s7;\n  float *pfVar48;\n  undefined *puVar49;\n  code *pcVar50;\n  int iVar51;\n  float fVar52;\n  undefined4 uStack_3b0;\n  undefined4 uStack_3ac;\n  undefined4 uStack_3a8;\n  undefined4 uStack_3a4;\n  undefined4 uStack_3a0;\n  undefined4 uStack_39c;\n  int iStack_398;\n  undefined4 uStack_394;\n  undefined4 uStack_390;\n  undefined4 uStack_38c;\n  float afStack_388 [10];\n  undefined1 auStack_360 [20];\n  char cStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  int iStack_164;\n  int *piStack_160;\n  BtShared *pBStack_15c;\n  BtShared *pBStack_158;\n  int iStack_154;\n  BtShared *pBStack_150;\n  BtShared *pBStack_14c;\n  u8 *puStack_148;\n  Bitvec *pBStack_144;\n  IntegrityCk *pIStack_140;\n  code *pcStack_13c;\n  int iStack_108;\n  MemPage *pMStack_b4;\n  undefined1 auStack_b0 [32];\n  BtShared *pBStack_90;\n  undefined *puStack_8c;\n  BtShared *pBStack_88;\n  u32 uStack_84;\n  BtShared *pBStack_80;\n  BtShared *pBStack_7c;\n  sqlite3_mutex *psStack_78;\n  Bitvec *pBStack_74;\n  IntegrityCk *pIStack_70;\n  BtShared *pBStack_6c;\n  BtShared *pBStack_64;\n  Pager *pPStack_58;\n  sqlite3 *psStack_54;\n  DbPage *pOvflPage;\n  sqlite3 *psStack_2c;\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  puVar49 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  iVar17 = pCheck->nErr;\n  psStack_2c = *(sqlite3 **)PTR___stack_chk_guard_00190e24;\n  if ((iPage == 0) || (pCheck->mxErr == 0)) {\n    pCheck_00 = pCheck;\n    pBVar23 = (BtShared *)isFreeList;\n    pBStack_80 = unaff_s4;\n    if (N != 0) {\n      iVar17 = 0;\nLAB_000a819c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      pCheck_00 = pCheck;\n      pPStack_58 = (Pager *)N;\n      checkAppendMsg(pCheck,(char *)pBVar23,iPage,iVar17);\n      pBStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (BtShared *)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar7 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = (BtShared *)iPage;\n    uVar24 = N;\n    unaff_s3 = unaff_s4;\n    while (pCheck_00 = pCheck, pBVar23 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0) {\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar24 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar23);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_000a8064;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pBVar23 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar23->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar23 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar23;\n        uVar24 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        (*pcVar6)();\n        unaff_s0 = pBVar11;\n      }\n      else {\n        unaff_s2 = (BtShared *)unaff_s7->nSet;\n        if (*puVar4 != '\0') {\n          iPage = (int)&SUB_00000002;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar23 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2) {\n          uVar24 = uVar24 - 2;\n          pBVar23 = (BtShared *)(puVar49 + -0x5124);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar24 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_000a7fb8:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }\n    unaff_s3 = (BtShared *)uVar24;\n    if (uVar24 != 0) {\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_000a8188:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar17) {\n        iVar17 = N - (int)unaff_s3;\n        goto LAB_000a819c;\n      }\n    }\n  }\nLAB_000a8064:\n  if (psStack_2c == *(sqlite3 **)puVar5) {\n    return;\n  }\n  pcVar6 = checkTreePage;\n  puVar49 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  piVar35 = *(int **)(puVar49 + 0xe8bf8);\n  pMStack_b4 = (MemPage *)0x0;\n  auStack_b0._28_4_ = *piVar35;\n  pBVar11 = (BtShared *)iPage;\n  pBVar44 = pBStack_80;\n  pBStack_90 = unaff_s0;\n  puStack_8c = unaff_s1;\n  pBStack_88 = unaff_s2;\n  uStack_84 = (u32)unaff_s3;\n  pBStack_7c = unaff_s5;\n  psStack_78 = (sqlite3_mutex *)isFreeList;\n  pBStack_74 = unaff_s7;\n  pIStack_70 = pCheck;\n  pBStack_6c = (BtShared *)pcVar6;\n  if (pBVar23 == (BtShared *)0x0) {\nLAB_000a8280:\n    iPage = (int)unaff_s5;\n    iStack_108 = 0;\n    pCheck_00 = pCheck;\n  }\n  else {\n    pcVar9 = pCheck_00->zPfx;\n    pBVar44 = pCheck_00->pBt;\n    iVar17 = pCheck_00->v1;\n    iVar8 = pCheck_00->v2;\n    puVar10 = (undefined1 *)pBVar44->usableSize;\n    iVar14 = checkRef(pCheck_00,(Pgno)pBVar23);\n    unaff_s5 = (BtShared *)iPage;\n    pCheck = pCheck_00;\n    if (iVar14 != 0) goto LAB_000a8280;\n    iVar14 = *(int *)(puVar49 + 0xe8730);\n    iVar15 = *(int *)(puVar49 + 0xe8914);\n    pCheck_00->v1 = (int)pBVar23;\n    pCheck_00->zPfx = (char *)(iVar14 + -0x50e0);\n    pBVar11 = (BtShared *)(*(code *)(iVar15 + 0x1420))(pBVar44,pBVar23,&pMStack_b4,0);\n    if (pBVar11 == (BtShared *)0x0) {\n      uVar1 = pMStack_b4->isInit;\n      pMStack_b4->isInit = '\0';\n      pBVar11 = (BtShared *)btreeInitPage(pMStack_b4);\n      if (pBVar11 != (BtShared *)0x0) {\n        zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50ac);\n        goto LAB_000a86a4;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar43 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5084);\n      iVar14 = uVar43 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 5) - 1);\n      uVar25 = (uint)pBVar11 & 0xffff;\n      pBVar19 = (BtShared *)(uVar25 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar39 = *(Pgno *)(isFreeList + uVar43 + 8);\n        if (pBVar44->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068);\n          checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23);\n        }\n        pBVar11 = (BtShared *)&pPStack_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54));\n        bVar2 = false;\n      }\n      else {\n        unaff_s7 = (Bitvec *)pCheck_00->heap;\n        bVar2 = true;\n        unaff_s7->iSize = 0;\n        iStack_108 = -1;\n      }\n      unaff_s2 = pBVar12;\n      if ((pBVar12 == (BtShared *)0xffffffff) || (pCheck_00->mxErr == 0)) {\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_000a878c:\n        if (0 < pCheck_00->mxErr) {\n          if (pMStack_b4->leaf == '\0') {\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }\n          uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);\n          unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);\n          if (uVar45 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }\n          uVar24 = unaff_s7->iSize;\n          if (uVar24 == 0) {\n            puVar28 = (undefined1 *)0x0;\n          }\n          else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));\nLAB_000a898c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }\n        }\n      }\n      else {\n        puVar28 = puVar10 + -4;\n        bVar3 = true;\n        iVar15 = *(int *)(puVar49 + 0xe8730);\n        pcVar6 = (code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8);\n        iVar40 = *(int *)(puVar49 + 0xe8730);\n        iVar46 = *(int *)(puVar49 + 0xe8914);\n        iVar51 = *(int *)(puVar49 + 0xe8a00);\n        puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n        pBStack_64 = pBVar23;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar23 = (BtShared *)(uint)*puVar33;\n          if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }\n          else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar23 = pBStack_64;\n        pBVar44 = pBVar19;\n        if (bVar3) goto LAB_000a878c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }\n    else {\n      zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50d4);\nLAB_000a86a4:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }\nLAB_000a86bc:\n    if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8))(pMStack_b4->pDbPage);\n    }\n    pCheck_00->zPfx = pcVar9;\n    pCheck_00->v1 = iVar17;\n    pCheck_00->v2 = iVar8;\n  }\n  if ((sqlite3 *)auStack_b0._28_4_ == (sqlite3 *)*piVar35) {\n    return;\n  }\n  pcVar6 = *(code **)(puVar49 + 0xe8bcc);\n  pcVar7 = rtreenode;\n  psVar21 = (sqlite3 *)auStack_b0._28_4_;\n  (*pcVar6)();\n  uVar25 = 0;\n  piVar29 = (int *)&DAT_000001f8;\n  piVar47 = *(int **)(pcVar6 + 0xe82ec);\n  uStack_3b0 = 0;\n  uStack_3ac = 0;\n  uStack_3a8 = 0;\n  uStack_3a4 = 0;\n  uStack_3a0 = 0;\n  uStack_39c = 0;\n  iStack_398 = 0;\n  uStack_394 = 0;\n  iStack_164 = *piVar47;\n  piStack_160 = piVar35;\n  pBStack_15c = pBVar23;\n  pBStack_158 = unaff_s2;\n  iStack_154 = iStack_108;\n  pBStack_150 = pBVar44;\n  pBStack_14c = (BtShared *)iPage;\n  puStack_148 = (u8 *)isFreeList;\n  pBStack_144 = unaff_s7;\n  pIStack_140 = pCheck_00;\n  pcStack_13c = pcVar7;\n  (**(code **)(pcVar6 + 0xe8220))(auStack_360);\n  psVar22 = (sqlite3 *)pBVar11->pPager;\n  (*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x7f68))();\n  cStack_34c = (char)extraout_v1;\n  if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar6 + 0xe7e84))(pBVar11->db);\n    uVar25 = 1;\n    psVar22 = pBVar11->db;\n    iVar17 = (*(code *)(*(int *)(pcVar6 + 0xe8088) + 0x6c88))();\n    if (3 < iVar17) {\n      uVar25 = (uint)bStack_349;\n      psVar22 = (sqlite3 *)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b) * uVar25) <= iVar17) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar17 = *(int *)(pcVar6 + 0xe7e20);\n          iVar46 = 0;\n          iVar8 = *(int *)(pcVar6 + 0xe806c);\n          pcVar7 = *(code **)(pcVar6 + 0xe80c0);\n          (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar14 = *(int *)(pcVar6 + 0xe7e24);\n          iVar40 = *(int *)(pcVar6 + 0xe7e24);\n          iVar15 = *(int *)(pcVar6 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }\n            iVar46 = iVar46 + 1;\n            (*pcVar7)(p,iVar17 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46) break;\n            (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);\n            (*pcVar7)(p,iVar15 + -0x4854,1);\n          }\n        }\n        if (p == (StrAccum *)0x0) {\n          uVar25 = 7;\n          piVar29 = (int *)0x0;\n        }\n        else {\n          uVar25 = (uint)p->accError;\n          if (p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)) {\n            piVar29 = (int *)0x0;\n          }\n          else {\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }\n        }\n        (*(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0))\n                  (psVar21,&psVar21->nDb,piVar29,0xffffffff,1,*(undefined4 *)(pcVar6 + 0xe7e34));\n        (**(code **)(pcVar6 + 0xe7e9c))();\n        psVar22 = psVar21;\n      }\n    }\n  }\n  if (iStack_164 == *piVar47) {\n    return;\n  }\n  pcVar6 = *(code **)(pcVar6 + 0xe82c0);\n  (*pcVar6)();\n  if (*(char *)((*(ushort *)(*piVar29 + 8) & 0x1f) + *(int *)(pcVar6 + 0xe7acc) + 0x6a8c) == '\x05')\n  {\n    return;\n  }\n  pCVar26 = psVar22->pDfltColl;\n  if (((uint)pCVar26->pUser & 0x20000000) == 0) {\n    p_Var38 = (_func_void_void_ptr *)\n              (*(code *)(*(int *)(pcVar6 + 0xe7d30) + -0x4168))(&psVar22->pVdbe,pCVar26,0x18);\n  }\n  else {\n    p_Var38 = pCVar26->xDel;\n  }\n  if (p_Var38 == (_func_void_void_ptr *)0x0) {\n    return;\n  }\n  iVar17 = *(int *)(p_Var38 + 0xc);\n  *(undefined4 *)(p_Var38 + 0xc) = *(undefined4 *)(psVar22->pVfs->xAccess + 0x6c);\n  if (iVar17 == 0) {\n    pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n    pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar17 = *piVar29;\n  }\n  else {\n    if (uVar25 == 2) {\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      iVar17 = (*pcVar41)(piVar29[1],1);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      uVar30 = (*pcVar7)(piVar29[1],1);\n      if (iVar17 == 0) goto LAB_000a8f8c;\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }\n    else {\n      uVar30 = 1;\n      iVar17 = *(int *)(pcVar6 + 0xe7ac8) + 0x138c;\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }\n    (*pcVar50)(p_Var38,iVar17,uVar30);\n    iVar17 = *piVar29;\n  }\n  iVar17 = (*pcVar41)(iVar17,1);\n  uVar30 = (*pcVar7)(*piVar29,1);\n  if (iVar17 == 0) {\n    return;\n  }\n                    /* WARNING: Could not recover jumptable at 0x000a8fe0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar6 + 0xe7d68))(p_Var38,iVar17,uVar30);\n  return;\n}" primitive_type (function_declarator "checkList(IntegrityCk *pCheck,int isFreeList,int iPage,u32 N)" identifier (parameter_list "(IntegrityCk *pCheck,int isFreeList,int iPage,u32 N)" ( (parameter_declaration "IntegrityCk *pCheck" type_identifier (pointer_declarator "*pCheck" * identifier)) , (parameter_declaration "int isFreeList" primitive_type identifier) , (parameter_declaration "int iPage" primitive_type identifier) , (parameter_declaration "u32 N" type_identifier identifier) ))) (compound_statement "{\n  u8 uVar1;\n  bool bVar2;\n  bool bVar3;\n  u8 *puVar4;\n  undefined *puVar5;\n  undefined2 extraout_var;\n  code *pcVar6;\n  code *pcVar7;\n  int iVar8;\n  char *pcVar9;\n  undefined1 *puVar10;\n  BtShared *pBVar11;\n  BtShared *pBVar12;\n  u16 uVar16;\n  uint uVar13;\n  StrAccum *p;\n  int iVar14;\n  int iVar15;\n  int iVar17;\n  uint uVar18;\n  uint extraout_v1;\n  IntegrityCk *pCheck_00;\n  BtShared *pBVar19;\n  uint uVar20;\n  sqlite3 *psVar21;\n  sqlite3 *psVar22;\n  BtShared *pBVar23;\n  u32 uVar24;\n  char *zFormat;\n  uint uVar25;\n  CollSeq *pCVar26;\n  u32 *puVar27;\n  undefined1 *puVar28;\n  int *piVar29;\n  undefined4 uVar30;\n  int iVar31;\n  uint uVar32;\n  ushort *puVar33;\n  uint uVar34;\n  BtShared *unaff_s0;\n  int *piVar35;\n  undefined *unaff_s1;\n  Pgno *pPVar36;\n  ushort *puVar37;\n  _func_void_void_ptr *p_Var38;\n  BtShared *unaff_s2;\n  Pgno PVar39;\n  int iVar40;\n  code *pcVar41;\n  BtShared *unaff_s3;\n  anon_union_500_3_7c964c52_for_u *paVar42;\n  uint uVar43;\n  BtShared *unaff_s4;\n  BtShared *pBVar44;\n  uint uVar45;\n  int iVar46;\n  BtShared *unaff_s5;\n  int *piVar47;\n  Bitvec *unaff_s7;\n  float *pfVar48;\n  undefined *puVar49;\n  code *pcVar50;\n  int iVar51;\n  float fVar52;\n  undefined4 uStack_3b0;\n  undefined4 uStack_3ac;\n  undefined4 uStack_3a8;\n  undefined4 uStack_3a4;\n  undefined4 uStack_3a0;\n  undefined4 uStack_39c;\n  int iStack_398;\n  undefined4 uStack_394;\n  undefined4 uStack_390;\n  undefined4 uStack_38c;\n  float afStack_388 [10];\n  undefined1 auStack_360 [20];\n  char cStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  int iStack_164;\n  int *piStack_160;\n  BtShared *pBStack_15c;\n  BtShared *pBStack_158;\n  int iStack_154;\n  BtShared *pBStack_150;\n  BtShared *pBStack_14c;\n  u8 *puStack_148;\n  Bitvec *pBStack_144;\n  IntegrityCk *pIStack_140;\n  code *pcStack_13c;\n  int iStack_108;\n  MemPage *pMStack_b4;\n  undefined1 auStack_b0 [32];\n  BtShared *pBStack_90;\n  undefined *puStack_8c;\n  BtShared *pBStack_88;\n  u32 uStack_84;\n  BtShared *pBStack_80;\n  BtShared *pBStack_7c;\n  sqlite3_mutex *psStack_78;\n  Bitvec *pBStack_74;\n  IntegrityCk *pIStack_70;\n  BtShared *pBStack_6c;\n  BtShared *pBStack_64;\n  Pager *pPStack_58;\n  sqlite3 *psStack_54;\n  DbPage *pOvflPage;\n  sqlite3 *psStack_2c;\n  \n  puVar5 = PTR___stack_chk_guard_00190e24;\n  puVar49 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  iVar17 = pCheck->nErr;\n  psStack_2c = *(sqlite3 **)PTR___stack_chk_guard_00190e24;\n  if ((iPage == 0) || (pCheck->mxErr == 0)) {\n    pCheck_00 = pCheck;\n    pBVar23 = (BtShared *)isFreeList;\n    pBStack_80 = unaff_s4;\n    if (N != 0) {\n      iVar17 = 0;\nLAB_000a819c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      pCheck_00 = pCheck;\n      pPStack_58 = (Pager *)N;\n      checkAppendMsg(pCheck,(char *)pBVar23,iPage,iVar17);\n      pBStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (BtShared *)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar7 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = (BtShared *)iPage;\n    uVar24 = N;\n    unaff_s3 = unaff_s4;\n    while (pCheck_00 = pCheck, pBVar23 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0) {\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar24 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar23);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_000a8064;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pBVar23 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar23->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar23 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar23;\n        uVar24 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        (*pcVar6)();\n        unaff_s0 = pBVar11;\n      }\n      else {\n        unaff_s2 = (BtShared *)unaff_s7->nSet;\n        if (*puVar4 != '\0') {\n          iPage = (int)&SUB_00000002;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar23 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2) {\n          uVar24 = uVar24 - 2;\n          pBVar23 = (BtShared *)(puVar49 + -0x5124);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar24 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_000a7fb8:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }\n    unaff_s3 = (BtShared *)uVar24;\n    if (uVar24 != 0) {\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_000a8188:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar17) {\n        iVar17 = N - (int)unaff_s3;\n        goto LAB_000a819c;\n      }\n    }\n  }\nLAB_000a8064:\n  if (psStack_2c == *(sqlite3 **)puVar5) {\n    return;\n  }\n  pcVar6 = checkTreePage;\n  puVar49 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  piVar35 = *(int **)(puVar49 + 0xe8bf8);\n  pMStack_b4 = (MemPage *)0x0;\n  auStack_b0._28_4_ = *piVar35;\n  pBVar11 = (BtShared *)iPage;\n  pBVar44 = pBStack_80;\n  pBStack_90 = unaff_s0;\n  puStack_8c = unaff_s1;\n  pBStack_88 = unaff_s2;\n  uStack_84 = (u32)unaff_s3;\n  pBStack_7c = unaff_s5;\n  psStack_78 = (sqlite3_mutex *)isFreeList;\n  pBStack_74 = unaff_s7;\n  pIStack_70 = pCheck;\n  pBStack_6c = (BtShared *)pcVar6;\n  if (pBVar23 == (BtShared *)0x0) {\nLAB_000a8280:\n    iPage = (int)unaff_s5;\n    iStack_108 = 0;\n    pCheck_00 = pCheck;\n  }\n  else {\n    pcVar9 = pCheck_00->zPfx;\n    pBVar44 = pCheck_00->pBt;\n    iVar17 = pCheck_00->v1;\n    iVar8 = pCheck_00->v2;\n    puVar10 = (undefined1 *)pBVar44->usableSize;\n    iVar14 = checkRef(pCheck_00,(Pgno)pBVar23);\n    unaff_s5 = (BtShared *)iPage;\n    pCheck = pCheck_00;\n    if (iVar14 != 0) goto LAB_000a8280;\n    iVar14 = *(int *)(puVar49 + 0xe8730);\n    iVar15 = *(int *)(puVar49 + 0xe8914);\n    pCheck_00->v1 = (int)pBVar23;\n    pCheck_00->zPfx = (char *)(iVar14 + -0x50e0);\n    pBVar11 = (BtShared *)(*(code *)(iVar15 + 0x1420))(pBVar44,pBVar23,&pMStack_b4,0);\n    if (pBVar11 == (BtShared *)0x0) {\n      uVar1 = pMStack_b4->isInit;\n      pMStack_b4->isInit = '\0';\n      pBVar11 = (BtShared *)btreeInitPage(pMStack_b4);\n      if (pBVar11 != (BtShared *)0x0) {\n        zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50ac);\n        goto LAB_000a86a4;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar43 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5084);\n      iVar14 = uVar43 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 5) - 1);\n      uVar25 = (uint)pBVar11 & 0xffff;\n      pBVar19 = (BtShared *)(uVar25 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar39 = *(Pgno *)(isFreeList + uVar43 + 8);\n        if (pBVar44->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068);\n          checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23);\n        }\n        pBVar11 = (BtShared *)&pPStack_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54));\n        bVar2 = false;\n      }\n      else {\n        unaff_s7 = (Bitvec *)pCheck_00->heap;\n        bVar2 = true;\n        unaff_s7->iSize = 0;\n        iStack_108 = -1;\n      }\n      unaff_s2 = pBVar12;\n      if ((pBVar12 == (BtShared *)0xffffffff) || (pCheck_00->mxErr == 0)) {\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_000a878c:\n        if (0 < pCheck_00->mxErr) {\n          if (pMStack_b4->leaf == '\0') {\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }\n          uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);\n          unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);\n          if (uVar45 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }\n          uVar24 = unaff_s7->iSize;\n          if (uVar24 == 0) {\n            puVar28 = (undefined1 *)0x0;\n          }\n          else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));\nLAB_000a898c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }\n        }\n      }\n      else {\n        puVar28 = puVar10 + -4;\n        bVar3 = true;\n        iVar15 = *(int *)(puVar49 + 0xe8730);\n        pcVar6 = (code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8);\n        iVar40 = *(int *)(puVar49 + 0xe8730);\n        iVar46 = *(int *)(puVar49 + 0xe8914);\n        iVar51 = *(int *)(puVar49 + 0xe8a00);\n        puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n        pBStack_64 = pBVar23;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar23 = (BtShared *)(uint)*puVar33;\n          if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }\n          else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar23 = pBStack_64;\n        pBVar44 = pBVar19;\n        if (bVar3) goto LAB_000a878c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }\n    else {\n      zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50d4);\nLAB_000a86a4:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }\nLAB_000a86bc:\n    if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8))(pMStack_b4->pDbPage);\n    }\n    pCheck_00->zPfx = pcVar9;\n    pCheck_00->v1 = iVar17;\n    pCheck_00->v2 = iVar8;\n  }\n  if ((sqlite3 *)auStack_b0._28_4_ == (sqlite3 *)*piVar35) {\n    return;\n  }\n  pcVar6 = *(code **)(puVar49 + 0xe8bcc);\n  pcVar7 = rtreenode;\n  psVar21 = (sqlite3 *)auStack_b0._28_4_;\n  (*pcVar6)();\n  uVar25 = 0;\n  piVar29 = (int *)&DAT_000001f8;\n  piVar47 = *(int **)(pcVar6 + 0xe82ec);\n  uStack_3b0 = 0;\n  uStack_3ac = 0;\n  uStack_3a8 = 0;\n  uStack_3a4 = 0;\n  uStack_3a0 = 0;\n  uStack_39c = 0;\n  iStack_398 = 0;\n  uStack_394 = 0;\n  iStack_164 = *piVar47;\n  piStack_160 = piVar35;\n  pBStack_15c = pBVar23;\n  pBStack_158 = unaff_s2;\n  iStack_154 = iStack_108;\n  pBStack_150 = pBVar44;\n  pBStack_14c = (BtShared *)iPage;\n  puStack_148 = (u8 *)isFreeList;\n  pBStack_144 = unaff_s7;\n  pIStack_140 = pCheck_00;\n  pcStack_13c = pcVar7;\n  (**(code **)(pcVar6 + 0xe8220))(auStack_360);\n  psVar22 = (sqlite3 *)pBVar11->pPager;\n  (*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x7f68))();\n  cStack_34c = (char)extraout_v1;\n  if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar6 + 0xe7e84))(pBVar11->db);\n    uVar25 = 1;\n    psVar22 = pBVar11->db;\n    iVar17 = (*(code *)(*(int *)(pcVar6 + 0xe8088) + 0x6c88))();\n    if (3 < iVar17) {\n      uVar25 = (uint)bStack_349;\n      psVar22 = (sqlite3 *)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b) * uVar25) <= iVar17) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar17 = *(int *)(pcVar6 + 0xe7e20);\n          iVar46 = 0;\n          iVar8 = *(int *)(pcVar6 + 0xe806c);\n          pcVar7 = *(code **)(pcVar6 + 0xe80c0);\n          (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar14 = *(int *)(pcVar6 + 0xe7e24);\n          iVar40 = *(int *)(pcVar6 + 0xe7e24);\n          iVar15 = *(int *)(pcVar6 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }\n            iVar46 = iVar46 + 1;\n            (*pcVar7)(p,iVar17 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46) break;\n            (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);\n            (*pcVar7)(p,iVar15 + -0x4854,1);\n          }\n        }\n        if (p == (StrAccum *)0x0) {\n          uVar25 = 7;\n          piVar29 = (int *)0x0;\n        }\n        else {\n          uVar25 = (uint)p->accError;\n          if (p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)) {\n            piVar29 = (int *)0x0;\n          }\n          else {\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }\n        }\n        (*(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0))\n                  (psVar21,&psVar21->nDb,piVar29,0xffffffff,1,*(undefined4 *)(pcVar6 + 0xe7e34));\n        (**(code **)(pcVar6 + 0xe7e9c))();\n        psVar22 = psVar21;\n      }\n    }\n  }\n  if (iStack_164 == *piVar47) {\n    return;\n  }\n  pcVar6 = *(code **)(pcVar6 + 0xe82c0);\n  (*pcVar6)();\n  if (*(char *)((*(ushort *)(*piVar29 + 8) & 0x1f) + *(int *)(pcVar6 + 0xe7acc) + 0x6a8c) == '\x05')\n  {\n    return;\n  }\n  pCVar26 = psVar22->pDfltColl;\n  if (((uint)pCVar26->pUser & 0x20000000) == 0) {\n    p_Var38 = (_func_void_void_ptr *)\n              (*(code *)(*(int *)(pcVar6 + 0xe7d30) + -0x4168))(&psVar22->pVdbe,pCVar26,0x18);\n  }\n  else {\n    p_Var38 = pCVar26->xDel;\n  }\n  if (p_Var38 == (_func_void_void_ptr *)0x0) {\n    return;\n  }\n  iVar17 = *(int *)(p_Var38 + 0xc);\n  *(undefined4 *)(p_Var38 + 0xc) = *(undefined4 *)(psVar22->pVfs->xAccess + 0x6c);\n  if (iVar17 == 0) {\n    pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n    pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar17 = *piVar29;\n  }\n  else {\n    if (uVar25 == 2) {\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      iVar17 = (*pcVar41)(piVar29[1],1);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      uVar30 = (*pcVar7)(piVar29[1],1);\n      if (iVar17 == 0) goto LAB_000a8f8c;\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }\n    else {\n      uVar30 = 1;\n      iVar17 = *(int *)(pcVar6 + 0xe7ac8) + 0x138c;\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }\n    (*pcVar50)(p_Var38,iVar17,uVar30);\n    iVar17 = *piVar29;\n  }\n  iVar17 = (*pcVar41)(iVar17,1);\n  uVar30 = (*pcVar7)(*piVar29,1);\n  if (iVar17 == 0) {\n    return;\n  }\n                    /* WARNING: Could not recover jumptable at 0x000a8fe0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar6 + 0xe7d68))(p_Var38,iVar17,uVar30);\n  return;\n}" { (declaration "u8 uVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "u8 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined2 extraout_var;" type_identifier identifier ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "BtShared *pBVar11;" type_identifier (pointer_declarator "*pBVar11" * identifier) ;) (declaration "BtShared *pBVar12;" type_identifier (pointer_declarator "*pBVar12" * identifier) ;) (declaration "u16 uVar16;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "StrAccum *p;" type_identifier (pointer_declarator "*p" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "IntegrityCk *pCheck_00;" type_identifier (pointer_declarator "*pCheck_00" * identifier) ;) (declaration "BtShared *pBVar19;" type_identifier (pointer_declarator "*pBVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "sqlite3 *psVar21;" type_identifier (pointer_declarator "*psVar21" * identifier) ;) (declaration "sqlite3 *psVar22;" type_identifier (pointer_declarator "*psVar22" * identifier) ;) (declaration "BtShared *pBVar23;" type_identifier (pointer_declarator "*pBVar23" * identifier) ;) (declaration "u32 uVar24;" type_identifier identifier ;) (declaration "char *zFormat;" primitive_type (pointer_declarator "*zFormat" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "CollSeq *pCVar26;" type_identifier (pointer_declarator "*pCVar26" * identifier) ;) (declaration "u32 *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "undefined1 *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "int *piVar29;" primitive_type (pointer_declarator "*piVar29" * identifier) ;) (declaration "undefined4 uVar30;" type_identifier identifier ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "uint uVar32;" type_identifier identifier ;) (declaration "ushort *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "uint uVar34;" type_identifier identifier ;) (declaration "BtShared *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "int *piVar35;" primitive_type (pointer_declarator "*piVar35" * identifier) ;) (declaration "undefined *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "Pgno *pPVar36;" type_identifier (pointer_declarator "*pPVar36" * identifier) ;) (declaration "ushort *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "_func_void_void_ptr *p_Var38;" type_identifier (pointer_declarator "*p_Var38" * identifier) ;) (declaration "BtShared *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "Pgno PVar39;" type_identifier identifier ;) (declaration "int iVar40;" primitive_type identifier ;) (declaration "code *pcVar41;" type_identifier (pointer_declarator "*pcVar41" * identifier) ;) (declaration "BtShared *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "anon_union_500_3_7c964c52_for_u *paVar42;" type_identifier (pointer_declarator "*paVar42" * identifier) ;) (declaration "uint uVar43;" type_identifier identifier ;) (declaration "BtShared *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "BtShared *pBVar44;" type_identifier (pointer_declarator "*pBVar44" * identifier) ;) (declaration "uint uVar45;" type_identifier identifier ;) (declaration "int iVar46;" primitive_type identifier ;) (declaration "BtShared *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int *piVar47;" primitive_type (pointer_declarator "*piVar47" * identifier) ;) (declaration "Bitvec *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "float *pfVar48;" primitive_type (pointer_declarator "*pfVar48" * identifier) ;) (declaration "undefined *puVar49;" type_identifier (pointer_declarator "*puVar49" * identifier) ;) (declaration "code *pcVar50;" type_identifier (pointer_declarator "*pcVar50" * identifier) ;) (declaration "int iVar51;" primitive_type identifier ;) (declaration "float fVar52;" primitive_type identifier ;) (declaration "undefined4 uStack_3b0;" type_identifier identifier ;) (declaration "undefined4 uStack_3ac;" type_identifier identifier ;) (declaration "undefined4 uStack_3a8;" type_identifier identifier ;) (declaration "undefined4 uStack_3a4;" type_identifier identifier ;) (declaration "undefined4 uStack_3a0;" type_identifier identifier ;) (declaration "undefined4 uStack_39c;" type_identifier identifier ;) (declaration "int iStack_398;" primitive_type identifier ;) (declaration "undefined4 uStack_394;" type_identifier identifier ;) (declaration "undefined4 uStack_390;" type_identifier identifier ;) (declaration "undefined4 uStack_38c;" type_identifier identifier ;) (declaration "float afStack_388 [10];" primitive_type (array_declarator "afStack_388 [10]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_360 [20];" type_identifier (array_declarator "auStack_360 [20]" identifier [ number_literal ]) ;) (declaration "char cStack_34c;" primitive_type identifier ;) (declaration "byte bStack_34b;" type_identifier identifier ;) (declaration "byte bStack_349;" type_identifier identifier ;) (declaration "int iStack_164;" primitive_type identifier ;) (declaration "int *piStack_160;" primitive_type (pointer_declarator "*piStack_160" * identifier) ;) (declaration "BtShared *pBStack_15c;" type_identifier (pointer_declarator "*pBStack_15c" * identifier) ;) (declaration "BtShared *pBStack_158;" type_identifier (pointer_declarator "*pBStack_158" * identifier) ;) (declaration "int iStack_154;" primitive_type identifier ;) (declaration "BtShared *pBStack_150;" type_identifier (pointer_declarator "*pBStack_150" * identifier) ;) (declaration "BtShared *pBStack_14c;" type_identifier (pointer_declarator "*pBStack_14c" * identifier) ;) (declaration "u8 *puStack_148;" type_identifier (pointer_declarator "*puStack_148" * identifier) ;) (declaration "Bitvec *pBStack_144;" type_identifier (pointer_declarator "*pBStack_144" * identifier) ;) (declaration "IntegrityCk *pIStack_140;" type_identifier (pointer_declarator "*pIStack_140" * identifier) ;) (declaration "code *pcStack_13c;" type_identifier (pointer_declarator "*pcStack_13c" * identifier) ;) (declaration "int iStack_108;" primitive_type identifier ;) (declaration "MemPage *pMStack_b4;" type_identifier (pointer_declarator "*pMStack_b4" * identifier) ;) (declaration "undefined1 auStack_b0 [32];" type_identifier (array_declarator "auStack_b0 [32]" identifier [ number_literal ]) ;) (declaration "BtShared *pBStack_90;" type_identifier (pointer_declarator "*pBStack_90" * identifier) ;) (declaration "undefined *puStack_8c;" type_identifier (pointer_declarator "*puStack_8c" * identifier) ;) (declaration "BtShared *pBStack_88;" type_identifier (pointer_declarator "*pBStack_88" * identifier) ;) (declaration "u32 uStack_84;" type_identifier identifier ;) (declaration "BtShared *pBStack_80;" type_identifier (pointer_declarator "*pBStack_80" * identifier) ;) (declaration "BtShared *pBStack_7c;" type_identifier (pointer_declarator "*pBStack_7c" * identifier) ;) (declaration "sqlite3_mutex *psStack_78;" type_identifier (pointer_declarator "*psStack_78" * identifier) ;) (declaration "Bitvec *pBStack_74;" type_identifier (pointer_declarator "*pBStack_74" * identifier) ;) (declaration "IntegrityCk *pIStack_70;" type_identifier (pointer_declarator "*pIStack_70" * identifier) ;) (declaration "BtShared *pBStack_6c;" type_identifier (pointer_declarator "*pBStack_6c" * identifier) ;) (declaration "BtShared *pBStack_64;" type_identifier (pointer_declarator "*pBStack_64" * identifier) ;) (declaration "Pager *pPStack_58;" type_identifier (pointer_declarator "*pPStack_58" * identifier) ;) (declaration "sqlite3 *psStack_54;" type_identifier (pointer_declarator "*psStack_54" * identifier) ;) (declaration "DbPage *pOvflPage;" type_identifier (pointer_declarator "*pOvflPage" * identifier) ;) (declaration "sqlite3 *psStack_2c;" type_identifier (pointer_declarator "*psStack_2c" * identifier) ;) (expression_statement "puVar5 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar5 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "puVar49 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar49 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "iVar17 = pCheck->nErr;" (assignment_expression "iVar17 = pCheck->nErr" identifier = (field_expression "pCheck->nErr" identifier -> field_identifier)) ;) (expression_statement "psStack_2c = *(sqlite3 **)PTR___stack_chk_guard_00190e24;" (assignment_expression "psStack_2c = *(sqlite3 **)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(sqlite3 **)PTR___stack_chk_guard_00190e24" * (cast_expression "(sqlite3 **)PTR___stack_chk_guard_00190e24" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((iPage == 0) || (pCheck->mxErr == 0)) {\n    pCheck_00 = pCheck;\n    pBVar23 = (BtShared *)isFreeList;\n    pBStack_80 = unaff_s4;\n    if (N != 0) {\n      iVar17 = 0;\nLAB_000a819c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      pCheck_00 = pCheck;\n      pPStack_58 = (Pager *)N;\n      checkAppendMsg(pCheck,(char *)pBVar23,iPage,iVar17);\n      pBStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (BtShared *)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar7 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = (BtShared *)iPage;\n    uVar24 = N;\n    unaff_s3 = unaff_s4;\n    while (pCheck_00 = pCheck, pBVar23 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0) {\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar24 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar23);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_000a8064;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pBVar23 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar23->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar23 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar23;\n        uVar24 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        (*pcVar6)();\n        unaff_s0 = pBVar11;\n      }\n      else {\n        unaff_s2 = (BtShared *)unaff_s7->nSet;\n        if (*puVar4 != '\0') {\n          iPage = (int)&SUB_00000002;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar23 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2) {\n          uVar24 = uVar24 - 2;\n          pBVar23 = (BtShared *)(puVar49 + -0x5124);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar24 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_000a7fb8:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }\n    unaff_s3 = (BtShared *)uVar24;\n    if (uVar24 != 0) {\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_000a8188:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar17) {\n        iVar17 = N - (int)unaff_s3;\n        goto LAB_000a819c;\n      }\n    }\n  }" if (parenthesized_expression "((iPage == 0) || (pCheck->mxErr == 0))" ( (binary_expression "(iPage == 0) || (pCheck->mxErr == 0)" (parenthesized_expression "(iPage == 0)" ( (binary_expression "iPage == 0" identifier == number_literal) )) || (parenthesized_expression "(pCheck->mxErr == 0)" ( (binary_expression "pCheck->mxErr == 0" (field_expression "pCheck->mxErr" identifier -> field_identifier) == number_literal) ))) )) (compound_statement "{\n    pCheck_00 = pCheck;\n    pBVar23 = (BtShared *)isFreeList;\n    pBStack_80 = unaff_s4;\n    if (N != 0) {\n      iVar17 = 0;\nLAB_000a819c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      pCheck_00 = pCheck;\n      pPStack_58 = (Pager *)N;\n      checkAppendMsg(pCheck,(char *)pBVar23,iPage,iVar17);\n      pBStack_80 = unaff_s4;\n    }\n  }" { (expression_statement "pCheck_00 = pCheck;" (assignment_expression "pCheck_00 = pCheck" identifier = identifier) ;) (expression_statement "pBVar23 = (BtShared *)isFreeList;" (assignment_expression "pBVar23 = (BtShared *)isFreeList" identifier = (cast_expression "(BtShared *)isFreeList" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBStack_80 = unaff_s4;" (assignment_expression "pBStack_80 = unaff_s4" identifier = identifier) ;) (if_statement "if (N != 0) {\n      iVar17 = 0;\nLAB_000a819c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      pCheck_00 = pCheck;\n      pPStack_58 = (Pager *)N;\n      checkAppendMsg(pCheck,(char *)pBVar23,iPage,iVar17);\n      pBStack_80 = unaff_s4;\n    }" if (parenthesized_expression "(N != 0)" ( (binary_expression "N != 0" identifier != number_literal) )) (compound_statement "{\n      iVar17 = 0;\nLAB_000a819c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      pCheck_00 = pCheck;\n      pPStack_58 = (Pager *)N;\n      checkAppendMsg(pCheck,(char *)pBVar23,iPage,iVar17);\n      pBStack_80 = unaff_s4;\n    }" { (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000a819c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" statement_identifier : (if_statement "if (isFreeList == 0) {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" if (parenthesized_expression "(isFreeList == 0)" ( (binary_expression "isFreeList == 0" identifier == number_literal) )) (compound_statement "{\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }" { (expression_statement "iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);" (assignment_expression "iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154)" identifier = (cast_expression "(int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154" identifier + number_literal) )))) ;) }) (else_clause "else {\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" else (compound_statement "{\n        iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" { (expression_statement "iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);" (assignment_expression "iPage = (int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18)" identifier = (cast_expression "(int)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18" identifier + number_literal) )))) ;) })))) (expression_statement "pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);" (assignment_expression "pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc)" identifier = (cast_expression "(BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc" identifier + number_literal) )))) ;) (expression_statement "pCheck_00 = pCheck;" (assignment_expression "pCheck_00 = pCheck" identifier = identifier) ;) (expression_statement "pPStack_58 = (Pager *)N;" (assignment_expression "pPStack_58 = (Pager *)N" identifier = (cast_expression "(Pager *)N" ( (type_descriptor "Pager *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "checkAppendMsg(pCheck,(char *)pBVar23,iPage,iVar17);" (call_expression "checkAppendMsg(pCheck,(char *)pBVar23,iPage,iVar17)" identifier (argument_list "(pCheck,(char *)pBVar23,iPage,iVar17)" ( identifier , (cast_expression "(char *)pBVar23" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;) (expression_statement "pBStack_80 = unaff_s4;" (assignment_expression "pBStack_80 = unaff_s4" identifier = identifier) ;) })) }) (else_clause "else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (BtShared *)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar7 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = (BtShared *)iPage;\n    uVar24 = N;\n    unaff_s3 = unaff_s4;\n    while (pCheck_00 = pCheck, pBVar23 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0) {\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar24 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar23);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_000a8064;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pBVar23 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar23->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar23 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar23;\n        uVar24 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        (*pcVar6)();\n        unaff_s0 = pBVar11;\n      }\n      else {\n        unaff_s2 = (BtShared *)unaff_s7->nSet;\n        if (*puVar4 != '\0') {\n          iPage = (int)&SUB_00000002;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar23 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2) {\n          uVar24 = uVar24 - 2;\n          pBVar23 = (BtShared *)(puVar49 + -0x5124);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar24 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_000a7fb8:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }\n    unaff_s3 = (BtShared *)uVar24;\n    if (uVar24 != 0) {\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_000a8188:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar17) {\n        iVar17 = N - (int)unaff_s3;\n        goto LAB_000a819c;\n      }\n    }\n  }" else (compound_statement "{\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (BtShared *)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar7 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = (BtShared *)iPage;\n    uVar24 = N;\n    unaff_s3 = unaff_s4;\n    while (pCheck_00 = pCheck, pBVar23 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0) {\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar24 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar23);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_000a8064;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pBVar23 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar23->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar23 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar23;\n        uVar24 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        (*pcVar6)();\n        unaff_s0 = pBVar11;\n      }\n      else {\n        unaff_s2 = (BtShared *)unaff_s7->nSet;\n        if (*puVar4 != '\0') {\n          iPage = (int)&SUB_00000002;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar23 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2) {\n          uVar24 = uVar24 - 2;\n          pBVar23 = (BtShared *)(puVar49 + -0x5124);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar24 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_000a7fb8:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }\n    unaff_s3 = (BtShared *)uVar24;\n    if (uVar24 != 0) {\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_000a8188:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar17) {\n        iVar17 = N - (int)unaff_s3;\n        goto LAB_000a819c;\n      }\n    }\n  }" { (expression_statement "unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;" (assignment_expression "unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0" identifier = (binary_expression "PTR_LAB_00190bc4 + 0x7cd0" identifier + number_literal)) ;) (expression_statement "unaff_s5 = (BtShared *)(PTR_LAB_00190bc4 + 0x7d78);" (assignment_expression "unaff_s5 = (BtShared *)(PTR_LAB_00190bc4 + 0x7d78)" identifier = (cast_expression "(BtShared *)(PTR_LAB_00190bc4 + 0x7d78)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x7d78)" ( (binary_expression "PTR_LAB_00190bc4 + 0x7d78" identifier + number_literal) )))) ;) (expression_statement "pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8);" (assignment_expression "pcVar6 = (code *)(PTR_LAB_00190b40 + 0xee8)" identifier = (cast_expression "(code *)(PTR_LAB_00190b40 + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0xee8)" ( (binary_expression "PTR_LAB_00190b40 + 0xee8" identifier + number_literal) )))) ;) (expression_statement "pcVar7 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_00190bc4 + 0x7bb8)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x7bb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x7bb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x7bb8" identifier + number_literal) )))) ;) (expression_statement "unaff_s0 = (BtShared *)iPage;" (assignment_expression "unaff_s0 = (BtShared *)iPage" identifier = (cast_expression "(BtShared *)iPage" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar24 = N;" (assignment_expression "uVar24 = N" identifier = identifier) ;) (expression_statement "unaff_s3 = unaff_s4;" (assignment_expression "unaff_s3 = unaff_s4" identifier = identifier) ;) (while_statement "while (pCheck_00 = pCheck, pBVar23 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0) {\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar24 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar23);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_000a8064;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pBVar23 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar23->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar23 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar23;\n        uVar24 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        (*pcVar6)();\n        unaff_s0 = pBVar11;\n      }\n      else {\n        unaff_s2 = (BtShared *)unaff_s7->nSet;\n        if (*puVar4 != '\0') {\n          iPage = (int)&SUB_00000002;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar23 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2) {\n          uVar24 = uVar24 - 2;\n          pBVar23 = (BtShared *)(puVar49 + -0x5124);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar24 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_000a7fb8:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }" while (parenthesized_expression "(pCheck_00 = pCheck, pBVar23 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0)" ( (comma_expression "pCheck_00 = pCheck, pBVar23 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0" (assignment_expression "pCheck_00 = pCheck" identifier = identifier) , (comma_expression "pBVar23 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0" (assignment_expression "pBVar23 = unaff_s0" identifier = identifier) , (comma_expression "iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0" (assignment_expression "iVar8 = checkRef(pCheck,(Pgno)unaff_s0)" identifier = (call_expression "checkRef(pCheck,(Pgno)unaff_s0)" identifier (argument_list "(pCheck,(Pgno)unaff_s0)" ( identifier , (cast_expression "(Pgno)unaff_s0" ( (type_descriptor "Pgno" type_identifier) ) identifier) )))) , (comma_expression "pBStack_80 = unaff_s3, iVar8 == 0" (assignment_expression "pBStack_80 = unaff_s3" identifier = identifier) , (binary_expression "iVar8 == 0" identifier == number_literal))))) )) (compound_statement "{\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar24 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar23);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_000a8064;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pBVar23 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar23->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar23 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar23;\n        uVar24 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        (*pcVar6)();\n        unaff_s0 = pBVar11;\n      }\n      else {\n        unaff_s2 = (BtShared *)unaff_s7->nSet;\n        if (*puVar4 != '\0') {\n          iPage = (int)&SUB_00000002;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar23 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2) {\n          uVar24 = uVar24 - 2;\n          pBVar23 = (BtShared *)(puVar49 + -0x5124);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar24 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_000a7fb8:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }" { (expression_statement "iPage = (int)&pOvflPage;" (assignment_expression "iPage = (int)&pOvflPage" identifier = (cast_expression "(int)&pOvflPage" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOvflPage" & identifier))) ;) (expression_statement "unaff_s3 = (BtShared *)(uVar24 - 1);" (assignment_expression "unaff_s3 = (BtShared *)(uVar24 - 1)" identifier = (cast_expression "(BtShared *)(uVar24 - 1)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 - 1)" ( (binary_expression "uVar24 - 1" identifier - number_literal) )))) ;) (expression_statement "iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);" (assignment_expression "iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0)" identifier = (call_expression "(*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0)" (parenthesized_expression "(*pCheck->pPager->xGet)" ( (pointer_expression "*pCheck->pPager->xGet" * (field_expression "pCheck->pPager->xGet" (field_expression "pCheck->pPager" identifier -> field_identifier) -> field_identifier)) )) (argument_list "(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0)" ( (field_expression "pCheck->pPager" identifier -> field_identifier) , (cast_expression "(Pgno)unaff_s0" ( (type_descriptor "Pgno" type_identifier) ) identifier) , (cast_expression "(DbPage **)iPage" ( (type_descriptor "DbPage **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , number_literal )))) ;) (expression_statement "pBStack_80 = unaff_s3;" (assignment_expression "pBStack_80 = unaff_s3" identifier = identifier) ;) (if_statement "if (iVar8 != 0) {\n        pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar23);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_000a8064;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar23);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_000a8064;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }" { (expression_statement "pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);" (assignment_expression "pBVar23 = (BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c)" identifier = (cast_expression "(BtShared *)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c" identifier + number_literal) )))) ;) (expression_statement "pCheck_00 = pCheck;" (assignment_expression "pCheck_00 = pCheck" identifier = identifier) ;) (expression_statement "iPage = (int)unaff_s0;" (assignment_expression "iPage = (int)unaff_s0" identifier = (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "checkAppendMsg(pCheck,(char *)pBVar23);" (call_expression "checkAppendMsg(pCheck,(char *)pBVar23)" identifier (argument_list "(pCheck,(char *)pBVar23)" ( identifier , (cast_expression "(char *)pBVar23" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (unaff_s3 == (BtShared *)0x0) goto LAB_000a8064;" if (parenthesized_expression "(unaff_s3 == (BtShared *)0x0)" ( (binary_expression "unaff_s3 == (BtShared *)0x0" identifier == (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a8064;" goto statement_identifier ;)) (expression_statement "iVar8 = pCheck->nErr;" (assignment_expression "iVar8 = pCheck->nErr" identifier = (field_expression "pCheck->nErr" identifier -> field_identifier)) ;) (expression_statement "unaff_s4 = unaff_s3;" (assignment_expression "unaff_s4 = unaff_s3" identifier = identifier) ;) (goto_statement "goto LAB_000a8188;" goto statement_identifier ;) })) (expression_statement "pBVar23 = pCheck->pBt;" (assignment_expression "pBVar23 = pCheck->pBt" identifier = (field_expression "pCheck->pBt" identifier -> field_identifier)) ;) (expression_statement "unaff_s7 = (Bitvec *)pOvflPage->pData;" (assignment_expression "unaff_s7 = (Bitvec *)pOvflPage->pData" identifier = (cast_expression "(Bitvec *)pOvflPage->pData" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOvflPage->pData" identifier -> field_identifier))) ;) (expression_statement "puVar4 = &pBVar23->autoVacuum;" (assignment_expression "puVar4 = &pBVar23->autoVacuum" identifier = (pointer_expression "&pBVar23->autoVacuum" & (field_expression "pBVar23->autoVacuum" identifier -> field_identifier))) ;) (if_statement "if (isFreeList == 0) {\n        pBVar23 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar23;\n        uVar24 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        (*pcVar6)();\n        unaff_s0 = pBVar11;\n      }\n      else {\n        unaff_s2 = (BtShared *)unaff_s7->nSet;\n        if (*puVar4 != '\0') {\n          iPage = (int)&SUB_00000002;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar23 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2) {\n          uVar24 = uVar24 - 2;\n          pBVar23 = (BtShared *)(puVar49 + -0x5124);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar24 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_000a7fb8:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_000a8048;\n      }" if (parenthesized_expression "(isFreeList == 0)" ( (binary_expression "isFreeList == 0" identifier == number_literal) )) (compound_statement "{\n        pBVar23 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar23;\n        uVar24 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        (*pcVar6)();\n        unaff_s0 = pBVar11;\n      }" { (expression_statement "pBVar23 = (BtShared *)unaff_s7->iSize;" (assignment_expression "pBVar23 = (BtShared *)unaff_s7->iSize" identifier = (cast_expression "(BtShared *)unaff_s7->iSize" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s7->iSize" identifier -> field_identifier))) ;) (expression_statement "pBVar11 = pBVar23;" (assignment_expression "pBVar11 = pBVar23" identifier = identifier) ;) (expression_statement "uVar24 = (u32)unaff_s3;" (assignment_expression "uVar24 = (u32)unaff_s3" identifier = (cast_expression "(u32)unaff_s3" ( (type_descriptor "u32" type_identifier) ) identifier)) ;) (if_statement "if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_000a7fb8;\n        }" if (parenthesized_expression "((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0))" ( (binary_expression "(*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)" (parenthesized_expression "(*puVar4 != '\0')" ( (binary_expression "*puVar4 != '\0'" (pointer_expression "*puVar4" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)" ( (comma_expression "iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0" (assignment_expression "iPage = (int)&DAT_00000004" identifier = (cast_expression "(int)&DAT_00000004" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&DAT_00000004" & identifier))) , (binary_expression "unaff_s3 != (BtShared *)0x0" identifier != (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_000a7fb8;\n        }" { (expression_statement "checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0);" (call_expression "checkPtrmap(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0)" identifier (argument_list "(pCheck,(Pgno)pBVar23,'\x04',(Pgno)unaff_s0)" ( identifier , (cast_expression "(Pgno)pBVar23" ( (type_descriptor "Pgno" type_identifier) ) identifier) , (char_literal "'\x04'" ' escape_sequence ') , (cast_expression "(Pgno)unaff_s0" ( (type_descriptor "Pgno" type_identifier) ) identifier) ))) ;) (expression_statement "pBVar11 = (BtShared *)unaff_s7->iSize;" (assignment_expression "pBVar11 = (BtShared *)unaff_s7->iSize" identifier = (cast_expression "(BtShared *)unaff_s7->iSize" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s7->iSize" identifier -> field_identifier))) ;) (goto_statement "goto LAB_000a7fb8;" goto statement_identifier ;) })) (labeled_statement "LAB_000a8048:\n        pCheck_00 = (IntegrityCk *)pOvflPage;" statement_identifier : (expression_statement "pCheck_00 = (IntegrityCk *)pOvflPage;" (assignment_expression "pCheck_00 = (IntegrityCk *)pOvflPage" identifier = (cast_expression "(IntegrityCk *)pOvflPage" ( (type_descriptor "IntegrityCk *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "(*pcVar6)();" (call_expression "(*pcVar6)()" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s0 = pBVar11;" (assignment_expression "unaff_s0 = pBVar11" identifier = identifier) ;) }) (else_clause "else {\n        unaff_s2 = (BtShared *)unaff_s7->nSet;\n        if (*puVar4 != '\0') {\n          iPage = (int)&SUB_00000002;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar23 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2) {\n          uVar24 = uVar24 - 2;\n          pBVar23 = (BtShared *)(puVar49 + -0x5124);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar24 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_000a7fb8:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_000a8048;\n      }" else (compound_statement "{\n        unaff_s2 = (BtShared *)unaff_s7->nSet;\n        if (*puVar4 != '\0') {\n          iPage = (int)&SUB_00000002;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar23 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2) {\n          uVar24 = uVar24 - 2;\n          pBVar23 = (BtShared *)(puVar49 + -0x5124);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar24 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_000a7fb8:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_000a8048;\n      }" { (expression_statement "unaff_s2 = (BtShared *)unaff_s7->nSet;" (assignment_expression "unaff_s2 = (BtShared *)unaff_s7->nSet" identifier = (cast_expression "(BtShared *)unaff_s7->nSet" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s7->nSet" identifier -> field_identifier))) ;) (if_statement "if (*puVar4 != '\0') {\n          iPage = (int)&SUB_00000002;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar23 = pCheck->pBt;\n        }" if (parenthesized_expression "(*puVar4 != '\0')" ( (binary_expression "*puVar4 != '\0'" (pointer_expression "*puVar4" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iPage = (int)&SUB_00000002;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar23 = pCheck->pBt;\n        }" { (expression_statement "iPage = (int)&SUB_00000002;" (assignment_expression "iPage = (int)&SUB_00000002" identifier = (cast_expression "(int)&SUB_00000002" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);" (call_expression "checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0)" identifier (argument_list "(pCheck,(Pgno)unaff_s0,'\x02',0)" ( identifier , (cast_expression "(Pgno)unaff_s0" ( (type_descriptor "Pgno" type_identifier) ) identifier) , (char_literal "'\x02'" ' escape_sequence ') , number_literal ))) ;) (expression_statement "pBVar23 = pCheck->pBt;" (assignment_expression "pBVar23 = pCheck->pBt" identifier = (field_expression "pCheck->pBt" identifier -> field_identifier)) ;) })) (if_statement "if ((BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2) {\n          uVar24 = uVar24 - 2;\n          pBVar23 = (BtShared *)(puVar49 + -0x5124);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar24 = (int)unaff_s3 - (int)unaff_s2;\n        }" if (parenthesized_expression "((BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2)" ( (binary_expression "(BtShared *)((pBVar23->usableSize >> 2) - 2) < unaff_s2" (cast_expression "(BtShared *)((pBVar23->usableSize >> 2) - 2)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pBVar23->usableSize >> 2) - 2)" ( (binary_expression "(pBVar23->usableSize >> 2) - 2" (parenthesized_expression "(pBVar23->usableSize >> 2)" ( (binary_expression "pBVar23->usableSize >> 2" (field_expression "pBVar23->usableSize" identifier -> field_identifier) >> number_literal) )) - number_literal) ))) < identifier) )) (compound_statement "{\n          uVar24 = uVar24 - 2;\n          pBVar23 = (BtShared *)(puVar49 + -0x5124);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }" { (expression_statement "uVar24 = uVar24 - 2;" (assignment_expression "uVar24 = uVar24 - 2" identifier = (binary_expression "uVar24 - 2" identifier - number_literal)) ;) (expression_statement "pBVar23 = (BtShared *)(puVar49 + -0x5124);" (assignment_expression "pBVar23 = (BtShared *)(puVar49 + -0x5124)" identifier = (cast_expression "(BtShared *)(puVar49 + -0x5124)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + -0x5124)" ( (binary_expression "puVar49 + -0x5124" identifier + number_literal) )))) ;) (expression_statement "(*pcVar7)(pCheck);" (call_expression "(*pcVar7)(pCheck)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(pCheck)" ( identifier ))) ;) (expression_statement "pBVar11 = (BtShared *)unaff_s7->iSize;" (assignment_expression "pBVar11 = (BtShared *)unaff_s7->iSize" identifier = (cast_expression "(BtShared *)unaff_s7->iSize" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s7->iSize" identifier -> field_identifier))) ;) (expression_statement "iPage = (int)unaff_s0;" (assignment_expression "iPage = (int)unaff_s0" identifier = (cast_expression "(int)unaff_s0" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar24 = (int)unaff_s3 - (int)unaff_s2;\n        }" else (compound_statement "{\n          if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar24 = (int)unaff_s3 - (int)unaff_s2;\n        }" { (if_statement "if (0 < (int)unaff_s2) {\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }" if (parenthesized_expression "(0 < (int)unaff_s2)" ( (binary_expression "0 < (int)unaff_s2" number_literal < (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar27 = paVar42->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }\n          }" { (expression_statement "paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;" (assignment_expression "paVar42 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor" identifier = (cast_expression "(anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s7->iDivisor" & (field_expression "unaff_s7->iDivisor" identifier -> field_identifier)))) ;) (expression_statement "puVar27 = paVar42->aHash + (int)unaff_s2;" (assignment_expression "puVar27 = paVar42->aHash + (int)unaff_s2" identifier = (binary_expression "paVar42->aHash + (int)unaff_s2" (field_expression "paVar42->aHash" identifier -> field_identifier) + (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (while_statement "while( true ) {\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              pBVar11 = (BtShared *)paVar42->aHash[0];\n              if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;\n              paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);\n              pBVar23 = pCheck->pBt;\n            }" { (expression_statement "pBVar11 = (BtShared *)paVar42->aHash[0];" (assignment_expression "pBVar11 = (BtShared *)paVar42->aHash[0]" identifier = (cast_expression "(BtShared *)paVar42->aHash[0]" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "paVar42->aHash[0]" (field_expression "paVar42->aHash" identifier -> field_identifier) [ number_literal ]))) ;) (if_statement "if (pBVar23->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }\n              else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }" if (parenthesized_expression "(pBVar23->autoVacuum == '\0')" ( (binary_expression "pBVar23->autoVacuum == '\0'" (field_expression "pBVar23->autoVacuum" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }" { (expression_statement "checkRef(pCheck,(Pgno)pBVar11);" (call_expression "checkRef(pCheck,(Pgno)pBVar11)" identifier (argument_list "(pCheck,(Pgno)pBVar11)" ( identifier , (cast_expression "(Pgno)pBVar11" ( (type_descriptor "Pgno" type_identifier) ) identifier) ))) ;) (expression_statement "pBVar23 = pBVar11;" (assignment_expression "pBVar23 = pBVar11" identifier = identifier) ;) }) (else_clause "else {\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }" else (compound_statement "{\n                iPage = (int)&SUB_00000002;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar23 = pBVar11;\n              }" { (expression_statement "iPage = (int)&SUB_00000002;" (assignment_expression "iPage = (int)&SUB_00000002" identifier = (cast_expression "(int)&SUB_00000002" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);" (call_expression "checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0)" identifier (argument_list "(pCheck,(Pgno)pBVar11,'\x02',0)" ( identifier , (cast_expression "(Pgno)pBVar11" ( (type_descriptor "Pgno" type_identifier) ) identifier) , (char_literal "'\x02'" ' escape_sequence ') , number_literal ))) ;) (expression_statement "checkRef(pCheck,(Pgno)pBVar11);" (call_expression "checkRef(pCheck,(Pgno)pBVar11)" identifier (argument_list "(pCheck,(Pgno)pBVar11)" ( identifier , (cast_expression "(Pgno)pBVar11" ( (type_descriptor "Pgno" type_identifier) ) identifier) ))) ;) (expression_statement "pBVar23 = pBVar11;" (assignment_expression "pBVar23 = pBVar11" identifier = identifier) ;) }))) (if_statement "if ((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27) break;" if (parenthesized_expression "((anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27)" ( (binary_expression "(anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar27" (cast_expression "(anon_union_500_3_7c964c52_for_u *)((int)paVar42->aBitmap + 4)" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar42->aBitmap + 4)" ( (binary_expression "(int)paVar42->aBitmap + 4" (cast_expression "(int)paVar42->aBitmap" ( (type_descriptor "int" primitive_type) ) (field_expression "paVar42->aBitmap" identifier -> field_identifier)) + number_literal) ))) == (cast_expression "(anon_union_500_3_7c964c52_for_u *)puVar27" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1);" (assignment_expression "paVar42 = (anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1)" identifier = (cast_expression "(anon_union_500_3_7c964c52_for_u *)(paVar42->aHash + 1)" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(paVar42->aHash + 1)" ( (binary_expression "paVar42->aHash + 1" (field_expression "paVar42->aHash" identifier -> field_identifier) + number_literal) )))) ;) (expression_statement "pBVar23 = pCheck->pBt;" (assignment_expression "pBVar23 = pCheck->pBt" identifier = (field_expression "pCheck->pBt" identifier -> field_identifier)) ;) })) })) (expression_statement "pBVar11 = (BtShared *)unaff_s7->iSize;" (assignment_expression "pBVar11 = (BtShared *)unaff_s7->iSize" identifier = (cast_expression "(BtShared *)unaff_s7->iSize" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s7->iSize" identifier -> field_identifier))) ;) (expression_statement "uVar24 = (int)unaff_s3 - (int)unaff_s2;" (assignment_expression "uVar24 = (int)unaff_s3 - (int)unaff_s2" identifier = (binary_expression "(int)unaff_s3 - (int)unaff_s2" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }))) (labeled_statement "LAB_000a7fb8:\n        unaff_s0 = pBVar11;" statement_identifier : (expression_statement "unaff_s0 = pBVar11;" (assignment_expression "unaff_s0 = pBVar11" identifier = identifier) ;)) (expression_statement "pCheck_00 = (IntegrityCk *)pOvflPage;" (assignment_expression "pCheck_00 = (IntegrityCk *)pOvflPage" identifier = (cast_expression "(IntegrityCk *)pOvflPage" ( (type_descriptor "IntegrityCk *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pOvflPage != (DbPage *)0x0) goto LAB_000a8048;" if (parenthesized_expression "(pOvflPage != (DbPage *)0x0)" ( (binary_expression "pOvflPage != (DbPage *)0x0" identifier != (cast_expression "(DbPage *)0x0" ( (type_descriptor "DbPage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000a8048;" goto statement_identifier ;)) }))) (if_statement "if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;" if (parenthesized_expression "((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0))" ( (binary_expression "(unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)" (parenthesized_expression "(unaff_s0 == (BtShared *)0x0)" ( (binary_expression "unaff_s0 == (BtShared *)0x0" identifier == (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pCheck->mxErr == 0)" ( (binary_expression "pCheck->mxErr == 0" (field_expression "pCheck->mxErr" identifier -> field_identifier) == number_literal) ))) )) (break_statement "break;" break ;)) })) (expression_statement "unaff_s3 = (BtShared *)uVar24;" (assignment_expression "unaff_s3 = (BtShared *)uVar24" identifier = (cast_expression "(BtShared *)uVar24" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar24 != 0) {\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_000a8188:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar17) {\n        iVar17 = N - (int)unaff_s3;\n        goto LAB_000a819c;\n      }\n    }" if (parenthesized_expression "(uVar24 != 0)" ( (binary_expression "uVar24 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_000a8188:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar17) {\n        iVar17 = N - (int)unaff_s3;\n        goto LAB_000a819c;\n      }\n    }" { (expression_statement "iVar8 = pCheck->nErr;" (assignment_expression "iVar8 = pCheck->nErr" identifier = (field_expression "pCheck->nErr" identifier -> field_identifier)) ;) (expression_statement "unaff_s4 = pBStack_80;" (assignment_expression "unaff_s4 = pBStack_80" identifier = identifier) ;) (labeled_statement "LAB_000a8188:\n      pBStack_80 = unaff_s4;" statement_identifier : (expression_statement "pBStack_80 = unaff_s4;" (assignment_expression "pBStack_80 = unaff_s4" identifier = identifier) ;)) (if_statement "if (iVar8 == iVar17) {\n        iVar17 = N - (int)unaff_s3;\n        goto LAB_000a819c;\n      }" if (parenthesized_expression "(iVar8 == iVar17)" ( (binary_expression "iVar8 == iVar17" identifier == identifier) )) (compound_statement "{\n        iVar17 = N - (int)unaff_s3;\n        goto LAB_000a819c;\n      }" { (expression_statement "iVar17 = N - (int)unaff_s3;" (assignment_expression "iVar17 = N - (int)unaff_s3" identifier = (binary_expression "N - (int)unaff_s3" identifier - (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (goto_statement "goto LAB_000a819c;" goto statement_identifier ;) })) })) }))) (labeled_statement "LAB_000a8064:\n  if (psStack_2c == *(sqlite3 **)puVar5) {\n    return;\n  }" statement_identifier : (if_statement "if (psStack_2c == *(sqlite3 **)puVar5) {\n    return;\n  }" if (parenthesized_expression "(psStack_2c == *(sqlite3 **)puVar5)" ( (binary_expression "psStack_2c == *(sqlite3 **)puVar5" identifier == (pointer_expression "*(sqlite3 **)puVar5" * (cast_expression "(sqlite3 **)puVar5" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "pcVar6 = checkTreePage;" (assignment_expression "pcVar6 = checkTreePage" identifier = identifier) ;) (expression_statement "puVar49 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar49 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar35 = *(int **)(puVar49 + 0xe8bf8);" (assignment_expression "piVar35 = *(int **)(puVar49 + 0xe8bf8)" identifier = (pointer_expression "*(int **)(puVar49 + 0xe8bf8)" * (cast_expression "(int **)(puVar49 + 0xe8bf8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar49 + 0xe8bf8)" ( (binary_expression "puVar49 + 0xe8bf8" identifier + number_literal) ))))) ;) (expression_statement "pMStack_b4 = (MemPage *)0x0;" (assignment_expression "pMStack_b4 = (MemPage *)0x0" identifier = (cast_expression "(MemPage *)0x0" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "auStack_b0._28_4_ = *piVar35;" (assignment_expression "auStack_b0._28_4_ = *piVar35" (field_expression "auStack_b0._28_4_" identifier . field_identifier) = (pointer_expression "*piVar35" * identifier)) ;) (expression_statement "pBVar11 = (BtShared *)iPage;" (assignment_expression "pBVar11 = (BtShared *)iPage" identifier = (cast_expression "(BtShared *)iPage" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBVar44 = pBStack_80;" (assignment_expression "pBVar44 = pBStack_80" identifier = identifier) ;) (expression_statement "pBStack_90 = unaff_s0;" (assignment_expression "pBStack_90 = unaff_s0" identifier = identifier) ;) (expression_statement "puStack_8c = unaff_s1;" (assignment_expression "puStack_8c = unaff_s1" identifier = identifier) ;) (expression_statement "pBStack_88 = unaff_s2;" (assignment_expression "pBStack_88 = unaff_s2" identifier = identifier) ;) (expression_statement "uStack_84 = (u32)unaff_s3;" (assignment_expression "uStack_84 = (u32)unaff_s3" identifier = (cast_expression "(u32)unaff_s3" ( (type_descriptor "u32" type_identifier) ) identifier)) ;) (expression_statement "pBStack_7c = unaff_s5;" (assignment_expression "pBStack_7c = unaff_s5" identifier = identifier) ;) (expression_statement "psStack_78 = (sqlite3_mutex *)isFreeList;" (assignment_expression "psStack_78 = (sqlite3_mutex *)isFreeList" identifier = (cast_expression "(sqlite3_mutex *)isFreeList" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBStack_74 = unaff_s7;" (assignment_expression "pBStack_74 = unaff_s7" identifier = identifier) ;) (expression_statement "pIStack_70 = pCheck;" (assignment_expression "pIStack_70 = pCheck" identifier = identifier) ;) (expression_statement "pBStack_6c = (BtShared *)pcVar6;" (assignment_expression "pBStack_6c = (BtShared *)pcVar6" identifier = (cast_expression "(BtShared *)pcVar6" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pBVar23 == (BtShared *)0x0) {\nLAB_000a8280:\n    iPage = (int)unaff_s5;\n    iStack_108 = 0;\n    pCheck_00 = pCheck;\n  }\n  else {\n    pcVar9 = pCheck_00->zPfx;\n    pBVar44 = pCheck_00->pBt;\n    iVar17 = pCheck_00->v1;\n    iVar8 = pCheck_00->v2;\n    puVar10 = (undefined1 *)pBVar44->usableSize;\n    iVar14 = checkRef(pCheck_00,(Pgno)pBVar23);\n    unaff_s5 = (BtShared *)iPage;\n    pCheck = pCheck_00;\n    if (iVar14 != 0) goto LAB_000a8280;\n    iVar14 = *(int *)(puVar49 + 0xe8730);\n    iVar15 = *(int *)(puVar49 + 0xe8914);\n    pCheck_00->v1 = (int)pBVar23;\n    pCheck_00->zPfx = (char *)(iVar14 + -0x50e0);\n    pBVar11 = (BtShared *)(*(code *)(iVar15 + 0x1420))(pBVar44,pBVar23,&pMStack_b4,0);\n    if (pBVar11 == (BtShared *)0x0) {\n      uVar1 = pMStack_b4->isInit;\n      pMStack_b4->isInit = '\0';\n      pBVar11 = (BtShared *)btreeInitPage(pMStack_b4);\n      if (pBVar11 != (BtShared *)0x0) {\n        zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50ac);\n        goto LAB_000a86a4;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar43 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5084);\n      iVar14 = uVar43 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 5) - 1);\n      uVar25 = (uint)pBVar11 & 0xffff;\n      pBVar19 = (BtShared *)(uVar25 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar39 = *(Pgno *)(isFreeList + uVar43 + 8);\n        if (pBVar44->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068);\n          checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23);\n        }\n        pBVar11 = (BtShared *)&pPStack_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54));\n        bVar2 = false;\n      }\n      else {\n        unaff_s7 = (Bitvec *)pCheck_00->heap;\n        bVar2 = true;\n        unaff_s7->iSize = 0;\n        iStack_108 = -1;\n      }\n      unaff_s2 = pBVar12;\n      if ((pBVar12 == (BtShared *)0xffffffff) || (pCheck_00->mxErr == 0)) {\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_000a878c:\n        if (0 < pCheck_00->mxErr) {\n          if (pMStack_b4->leaf == '\0') {\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }\n          uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);\n          unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);\n          if (uVar45 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }\n          uVar24 = unaff_s7->iSize;\n          if (uVar24 == 0) {\n            puVar28 = (undefined1 *)0x0;\n          }\n          else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));\nLAB_000a898c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }\n        }\n      }\n      else {\n        puVar28 = puVar10 + -4;\n        bVar3 = true;\n        iVar15 = *(int *)(puVar49 + 0xe8730);\n        pcVar6 = (code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8);\n        iVar40 = *(int *)(puVar49 + 0xe8730);\n        iVar46 = *(int *)(puVar49 + 0xe8914);\n        iVar51 = *(int *)(puVar49 + 0xe8a00);\n        puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n        pBStack_64 = pBVar23;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar23 = (BtShared *)(uint)*puVar33;\n          if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }\n          else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar23 = pBStack_64;\n        pBVar44 = pBVar19;\n        if (bVar3) goto LAB_000a878c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }\n    else {\n      zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50d4);\nLAB_000a86a4:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }\nLAB_000a86bc:\n    if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8))(pMStack_b4->pDbPage);\n    }\n    pCheck_00->zPfx = pcVar9;\n    pCheck_00->v1 = iVar17;\n    pCheck_00->v2 = iVar8;\n  }" if (parenthesized_expression "(pBVar23 == (BtShared *)0x0)" ( (binary_expression "pBVar23 == (BtShared *)0x0" identifier == (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000a8280:\n    iPage = (int)unaff_s5;\n    iStack_108 = 0;\n    pCheck_00 = pCheck;\n  }" { (labeled_statement "LAB_000a8280:\n    iPage = (int)unaff_s5;" statement_identifier : (expression_statement "iPage = (int)unaff_s5;" (assignment_expression "iPage = (int)unaff_s5" identifier = (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (expression_statement "iStack_108 = 0;" (assignment_expression "iStack_108 = 0" identifier = number_literal) ;) (expression_statement "pCheck_00 = pCheck;" (assignment_expression "pCheck_00 = pCheck" identifier = identifier) ;) }) (else_clause "else {\n    pcVar9 = pCheck_00->zPfx;\n    pBVar44 = pCheck_00->pBt;\n    iVar17 = pCheck_00->v1;\n    iVar8 = pCheck_00->v2;\n    puVar10 = (undefined1 *)pBVar44->usableSize;\n    iVar14 = checkRef(pCheck_00,(Pgno)pBVar23);\n    unaff_s5 = (BtShared *)iPage;\n    pCheck = pCheck_00;\n    if (iVar14 != 0) goto LAB_000a8280;\n    iVar14 = *(int *)(puVar49 + 0xe8730);\n    iVar15 = *(int *)(puVar49 + 0xe8914);\n    pCheck_00->v1 = (int)pBVar23;\n    pCheck_00->zPfx = (char *)(iVar14 + -0x50e0);\n    pBVar11 = (BtShared *)(*(code *)(iVar15 + 0x1420))(pBVar44,pBVar23,&pMStack_b4,0);\n    if (pBVar11 == (BtShared *)0x0) {\n      uVar1 = pMStack_b4->isInit;\n      pMStack_b4->isInit = '\0';\n      pBVar11 = (BtShared *)btreeInitPage(pMStack_b4);\n      if (pBVar11 != (BtShared *)0x0) {\n        zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50ac);\n        goto LAB_000a86a4;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar43 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5084);\n      iVar14 = uVar43 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 5) - 1);\n      uVar25 = (uint)pBVar11 & 0xffff;\n      pBVar19 = (BtShared *)(uVar25 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar39 = *(Pgno *)(isFreeList + uVar43 + 8);\n        if (pBVar44->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068);\n          checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23);\n        }\n        pBVar11 = (BtShared *)&pPStack_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54));\n        bVar2 = false;\n      }\n      else {\n        unaff_s7 = (Bitvec *)pCheck_00->heap;\n        bVar2 = true;\n        unaff_s7->iSize = 0;\n        iStack_108 = -1;\n      }\n      unaff_s2 = pBVar12;\n      if ((pBVar12 == (BtShared *)0xffffffff) || (pCheck_00->mxErr == 0)) {\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_000a878c:\n        if (0 < pCheck_00->mxErr) {\n          if (pMStack_b4->leaf == '\0') {\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }\n          uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);\n          unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);\n          if (uVar45 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }\n          uVar24 = unaff_s7->iSize;\n          if (uVar24 == 0) {\n            puVar28 = (undefined1 *)0x0;\n          }\n          else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));\nLAB_000a898c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }\n        }\n      }\n      else {\n        puVar28 = puVar10 + -4;\n        bVar3 = true;\n        iVar15 = *(int *)(puVar49 + 0xe8730);\n        pcVar6 = (code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8);\n        iVar40 = *(int *)(puVar49 + 0xe8730);\n        iVar46 = *(int *)(puVar49 + 0xe8914);\n        iVar51 = *(int *)(puVar49 + 0xe8a00);\n        puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n        pBStack_64 = pBVar23;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar23 = (BtShared *)(uint)*puVar33;\n          if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }\n          else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar23 = pBStack_64;\n        pBVar44 = pBVar19;\n        if (bVar3) goto LAB_000a878c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }\n    else {\n      zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50d4);\nLAB_000a86a4:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }\nLAB_000a86bc:\n    if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8))(pMStack_b4->pDbPage);\n    }\n    pCheck_00->zPfx = pcVar9;\n    pCheck_00->v1 = iVar17;\n    pCheck_00->v2 = iVar8;\n  }" else (compound_statement "{\n    pcVar9 = pCheck_00->zPfx;\n    pBVar44 = pCheck_00->pBt;\n    iVar17 = pCheck_00->v1;\n    iVar8 = pCheck_00->v2;\n    puVar10 = (undefined1 *)pBVar44->usableSize;\n    iVar14 = checkRef(pCheck_00,(Pgno)pBVar23);\n    unaff_s5 = (BtShared *)iPage;\n    pCheck = pCheck_00;\n    if (iVar14 != 0) goto LAB_000a8280;\n    iVar14 = *(int *)(puVar49 + 0xe8730);\n    iVar15 = *(int *)(puVar49 + 0xe8914);\n    pCheck_00->v1 = (int)pBVar23;\n    pCheck_00->zPfx = (char *)(iVar14 + -0x50e0);\n    pBVar11 = (BtShared *)(*(code *)(iVar15 + 0x1420))(pBVar44,pBVar23,&pMStack_b4,0);\n    if (pBVar11 == (BtShared *)0x0) {\n      uVar1 = pMStack_b4->isInit;\n      pMStack_b4->isInit = '\0';\n      pBVar11 = (BtShared *)btreeInitPage(pMStack_b4);\n      if (pBVar11 != (BtShared *)0x0) {\n        zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50ac);\n        goto LAB_000a86a4;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar43 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5084);\n      iVar14 = uVar43 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 5) - 1);\n      uVar25 = (uint)pBVar11 & 0xffff;\n      pBVar19 = (BtShared *)(uVar25 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar39 = *(Pgno *)(isFreeList + uVar43 + 8);\n        if (pBVar44->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068);\n          checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23);\n        }\n        pBVar11 = (BtShared *)&pPStack_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54));\n        bVar2 = false;\n      }\n      else {\n        unaff_s7 = (Bitvec *)pCheck_00->heap;\n        bVar2 = true;\n        unaff_s7->iSize = 0;\n        iStack_108 = -1;\n      }\n      unaff_s2 = pBVar12;\n      if ((pBVar12 == (BtShared *)0xffffffff) || (pCheck_00->mxErr == 0)) {\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_000a878c:\n        if (0 < pCheck_00->mxErr) {\n          if (pMStack_b4->leaf == '\0') {\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }\n          uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);\n          unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);\n          if (uVar45 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }\n          uVar24 = unaff_s7->iSize;\n          if (uVar24 == 0) {\n            puVar28 = (undefined1 *)0x0;\n          }\n          else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));\nLAB_000a898c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }\n        }\n      }\n      else {\n        puVar28 = puVar10 + -4;\n        bVar3 = true;\n        iVar15 = *(int *)(puVar49 + 0xe8730);\n        pcVar6 = (code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8);\n        iVar40 = *(int *)(puVar49 + 0xe8730);\n        iVar46 = *(int *)(puVar49 + 0xe8914);\n        iVar51 = *(int *)(puVar49 + 0xe8a00);\n        puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n        pBStack_64 = pBVar23;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar23 = (BtShared *)(uint)*puVar33;\n          if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }\n          else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar23 = pBStack_64;\n        pBVar44 = pBVar19;\n        if (bVar3) goto LAB_000a878c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }\n    else {\n      zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50d4);\nLAB_000a86a4:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }\nLAB_000a86bc:\n    if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8))(pMStack_b4->pDbPage);\n    }\n    pCheck_00->zPfx = pcVar9;\n    pCheck_00->v1 = iVar17;\n    pCheck_00->v2 = iVar8;\n  }" { (expression_statement "pcVar9 = pCheck_00->zPfx;" (assignment_expression "pcVar9 = pCheck_00->zPfx" identifier = (field_expression "pCheck_00->zPfx" identifier -> field_identifier)) ;) (expression_statement "pBVar44 = pCheck_00->pBt;" (assignment_expression "pBVar44 = pCheck_00->pBt" identifier = (field_expression "pCheck_00->pBt" identifier -> field_identifier)) ;) (expression_statement "iVar17 = pCheck_00->v1;" (assignment_expression "iVar17 = pCheck_00->v1" identifier = (field_expression "pCheck_00->v1" identifier -> field_identifier)) ;) (expression_statement "iVar8 = pCheck_00->v2;" (assignment_expression "iVar8 = pCheck_00->v2" identifier = (field_expression "pCheck_00->v2" identifier -> field_identifier)) ;) (expression_statement "puVar10 = (undefined1 *)pBVar44->usableSize;" (assignment_expression "puVar10 = (undefined1 *)pBVar44->usableSize" identifier = (cast_expression "(undefined1 *)pBVar44->usableSize" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar44->usableSize" identifier -> field_identifier))) ;) (expression_statement "iVar14 = checkRef(pCheck_00,(Pgno)pBVar23);" (assignment_expression "iVar14 = checkRef(pCheck_00,(Pgno)pBVar23)" identifier = (call_expression "checkRef(pCheck_00,(Pgno)pBVar23)" identifier (argument_list "(pCheck_00,(Pgno)pBVar23)" ( identifier , (cast_expression "(Pgno)pBVar23" ( (type_descriptor "Pgno" type_identifier) ) identifier) )))) ;) (expression_statement "unaff_s5 = (BtShared *)iPage;" (assignment_expression "unaff_s5 = (BtShared *)iPage" identifier = (cast_expression "(BtShared *)iPage" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pCheck = pCheck_00;" (assignment_expression "pCheck = pCheck_00" identifier = identifier) ;) (if_statement "if (iVar14 != 0) goto LAB_000a8280;" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a8280;" goto statement_identifier ;)) (expression_statement "iVar14 = *(int *)(puVar49 + 0xe8730);" (assignment_expression "iVar14 = *(int *)(puVar49 + 0xe8730)" identifier = (pointer_expression "*(int *)(puVar49 + 0xe8730)" * (cast_expression "(int *)(puVar49 + 0xe8730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8730)" ( (binary_expression "puVar49 + 0xe8730" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(puVar49 + 0xe8914);" (assignment_expression "iVar15 = *(int *)(puVar49 + 0xe8914)" identifier = (pointer_expression "*(int *)(puVar49 + 0xe8914)" * (cast_expression "(int *)(puVar49 + 0xe8914)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8914)" ( (binary_expression "puVar49 + 0xe8914" identifier + number_literal) ))))) ;) (expression_statement "pCheck_00->v1 = (int)pBVar23;" (assignment_expression "pCheck_00->v1 = (int)pBVar23" (field_expression "pCheck_00->v1" identifier -> field_identifier) = (cast_expression "(int)pBVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pCheck_00->zPfx = (char *)(iVar14 + -0x50e0);" (assignment_expression "pCheck_00->zPfx = (char *)(iVar14 + -0x50e0)" (field_expression "pCheck_00->zPfx" identifier -> field_identifier) = (cast_expression "(char *)(iVar14 + -0x50e0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + -0x50e0)" ( (binary_expression "iVar14 + -0x50e0" identifier + number_literal) )))) ;) (expression_statement "pBVar11 = (BtShared *)(*(code *)(iVar15 + 0x1420))(pBVar44,pBVar23,&pMStack_b4,0);" (assignment_expression "pBVar11 = (BtShared *)(*(code *)(iVar15 + 0x1420))(pBVar44,pBVar23,&pMStack_b4,0)" identifier = (cast_expression "(BtShared *)(*(code *)(iVar15 + 0x1420))(pBVar44,pBVar23,&pMStack_b4,0)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar15 + 0x1420))(pBVar44,pBVar23,&pMStack_b4,0)" (parenthesized_expression "(*(code *)(iVar15 + 0x1420))" ( (pointer_expression "*(code *)(iVar15 + 0x1420)" * (cast_expression "(code *)(iVar15 + 0x1420)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x1420)" ( (binary_expression "iVar15 + 0x1420" identifier + number_literal) )))) )) (argument_list "(pBVar44,pBVar23,&pMStack_b4,0)" ( identifier , identifier , (pointer_expression "&pMStack_b4" & identifier) , number_literal ))))) ;) (if_statement "if (pBVar11 == (BtShared *)0x0) {\n      uVar1 = pMStack_b4->isInit;\n      pMStack_b4->isInit = '\0';\n      pBVar11 = (BtShared *)btreeInitPage(pMStack_b4);\n      if (pBVar11 != (BtShared *)0x0) {\n        zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50ac);\n        goto LAB_000a86a4;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar43 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5084);\n      iVar14 = uVar43 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 5) - 1);\n      uVar25 = (uint)pBVar11 & 0xffff;\n      pBVar19 = (BtShared *)(uVar25 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar39 = *(Pgno *)(isFreeList + uVar43 + 8);\n        if (pBVar44->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068);\n          checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23);\n        }\n        pBVar11 = (BtShared *)&pPStack_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54));\n        bVar2 = false;\n      }\n      else {\n        unaff_s7 = (Bitvec *)pCheck_00->heap;\n        bVar2 = true;\n        unaff_s7->iSize = 0;\n        iStack_108 = -1;\n      }\n      unaff_s2 = pBVar12;\n      if ((pBVar12 == (BtShared *)0xffffffff) || (pCheck_00->mxErr == 0)) {\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_000a878c:\n        if (0 < pCheck_00->mxErr) {\n          if (pMStack_b4->leaf == '\0') {\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }\n          uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);\n          unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);\n          if (uVar45 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }\n          uVar24 = unaff_s7->iSize;\n          if (uVar24 == 0) {\n            puVar28 = (undefined1 *)0x0;\n          }\n          else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));\nLAB_000a898c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }\n        }\n      }\n      else {\n        puVar28 = puVar10 + -4;\n        bVar3 = true;\n        iVar15 = *(int *)(puVar49 + 0xe8730);\n        pcVar6 = (code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8);\n        iVar40 = *(int *)(puVar49 + 0xe8730);\n        iVar46 = *(int *)(puVar49 + 0xe8914);\n        iVar51 = *(int *)(puVar49 + 0xe8a00);\n        puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n        pBStack_64 = pBVar23;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar23 = (BtShared *)(uint)*puVar33;\n          if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }\n          else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar23 = pBStack_64;\n        pBVar44 = pBVar19;\n        if (bVar3) goto LAB_000a878c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }\n    else {\n      zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50d4);\nLAB_000a86a4:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }" if (parenthesized_expression "(pBVar11 == (BtShared *)0x0)" ( (binary_expression "pBVar11 == (BtShared *)0x0" identifier == (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar1 = pMStack_b4->isInit;\n      pMStack_b4->isInit = '\0';\n      pBVar11 = (BtShared *)btreeInitPage(pMStack_b4);\n      if (pBVar11 != (BtShared *)0x0) {\n        zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50ac);\n        goto LAB_000a86a4;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar43 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5084);\n      iVar14 = uVar43 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 5) - 1);\n      uVar25 = (uint)pBVar11 & 0xffff;\n      pBVar19 = (BtShared *)(uVar25 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar39 = *(Pgno *)(isFreeList + uVar43 + 8);\n        if (pBVar44->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068);\n          checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23);\n        }\n        pBVar11 = (BtShared *)&pPStack_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54));\n        bVar2 = false;\n      }\n      else {\n        unaff_s7 = (Bitvec *)pCheck_00->heap;\n        bVar2 = true;\n        unaff_s7->iSize = 0;\n        iStack_108 = -1;\n      }\n      unaff_s2 = pBVar12;\n      if ((pBVar12 == (BtShared *)0xffffffff) || (pCheck_00->mxErr == 0)) {\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_000a878c:\n        if (0 < pCheck_00->mxErr) {\n          if (pMStack_b4->leaf == '\0') {\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }\n          uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);\n          unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);\n          if (uVar45 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }\n          uVar24 = unaff_s7->iSize;\n          if (uVar24 == 0) {\n            puVar28 = (undefined1 *)0x0;\n          }\n          else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));\nLAB_000a898c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }\n        }\n      }\n      else {\n        puVar28 = puVar10 + -4;\n        bVar3 = true;\n        iVar15 = *(int *)(puVar49 + 0xe8730);\n        pcVar6 = (code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8);\n        iVar40 = *(int *)(puVar49 + 0xe8730);\n        iVar46 = *(int *)(puVar49 + 0xe8914);\n        iVar51 = *(int *)(puVar49 + 0xe8a00);\n        puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n        pBStack_64 = pBVar23;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar23 = (BtShared *)(uint)*puVar33;\n          if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }\n          else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar23 = pBStack_64;\n        pBVar44 = pBVar19;\n        if (bVar3) goto LAB_000a878c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }" { (expression_statement "uVar1 = pMStack_b4->isInit;" (assignment_expression "uVar1 = pMStack_b4->isInit" identifier = (field_expression "pMStack_b4->isInit" identifier -> field_identifier)) ;) (expression_statement "pMStack_b4->isInit = '\0';" (assignment_expression "pMStack_b4->isInit = '\0'" (field_expression "pMStack_b4->isInit" identifier -> field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pBVar11 = (BtShared *)btreeInitPage(pMStack_b4);" (assignment_expression "pBVar11 = (BtShared *)btreeInitPage(pMStack_b4)" identifier = (cast_expression "(BtShared *)btreeInitPage(pMStack_b4)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "btreeInitPage(pMStack_b4)" identifier (argument_list "(pMStack_b4)" ( identifier ))))) ;) (if_statement "if (pBVar11 != (BtShared *)0x0) {\n        zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50ac);\n        goto LAB_000a86a4;\n      }" if (parenthesized_expression "(pBVar11 != (BtShared *)0x0)" ( (binary_expression "pBVar11 != (BtShared *)0x0" identifier != (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50ac);\n        goto LAB_000a86a4;\n      }" { (expression_statement "zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50ac);" (assignment_expression "zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50ac)" identifier = (cast_expression "(char *)(*(int *)(puVar49 + 0xe8730) + -0x50ac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar49 + 0xe8730) + -0x50ac)" ( (binary_expression "*(int *)(puVar49 + 0xe8730) + -0x50ac" (pointer_expression "*(int *)(puVar49 + 0xe8730)" * (cast_expression "(int *)(puVar49 + 0xe8730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8730)" ( (binary_expression "puVar49 + 0xe8730" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_000a86a4;" goto statement_identifier ;) })) (expression_statement "isFreeList = (int)pMStack_b4->aData;" (assignment_expression "isFreeList = (int)pMStack_b4->aData" identifier = (cast_expression "(int)pMStack_b4->aData" ( (type_descriptor "int" primitive_type) ) (field_expression "pMStack_b4->aData" identifier -> field_identifier))) ;) (expression_statement "uVar43 = (uint)pMStack_b4->hdrOffset;" (assignment_expression "uVar43 = (uint)pMStack_b4->hdrOffset" identifier = (cast_expression "(uint)pMStack_b4->hdrOffset" ( (type_descriptor "uint" type_identifier) ) (field_expression "pMStack_b4->hdrOffset" identifier -> field_identifier))) ;) (expression_statement "pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5084);" (assignment_expression "pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5084)" (field_expression "pCheck_00->zPfx" identifier -> field_identifier) = (cast_expression "(char *)(*(int *)(puVar49 + 0xe8730) + -0x5084)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar49 + 0xe8730) + -0x5084)" ( (binary_expression "*(int *)(puVar49 + 0xe8730) + -0x5084" (pointer_expression "*(int *)(puVar49 + 0xe8730)" * (cast_expression "(int *)(puVar49 + 0xe8730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8730)" ( (binary_expression "puVar49 + 0xe8730" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar14 = uVar43 + 0xc + (uint)pMStack_b4->leaf * -4;" (assignment_expression "iVar14 = uVar43 + 0xc + (uint)pMStack_b4->leaf * -4" identifier = (binary_expression "uVar43 + 0xc + (uint)pMStack_b4->leaf * -4" (binary_expression "uVar43 + 0xc" identifier + number_literal) + (binary_expression "(uint)pMStack_b4->leaf * -4" (cast_expression "(uint)pMStack_b4->leaf" ( (type_descriptor "uint" type_identifier) ) (field_expression "pMStack_b4->leaf" identifier -> field_identifier)) * number_literal))) ;) (expression_statement "pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 3) - 1);" (assignment_expression "pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 3) - 1)" identifier = (cast_expression "(BtShared *)(*(ushort *)(isFreeList + uVar43 + 3) - 1)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(ushort *)(isFreeList + uVar43 + 3) - 1)" ( (binary_expression "*(ushort *)(isFreeList + uVar43 + 3) - 1" (pointer_expression "*(ushort *)(isFreeList + uVar43 + 3)" * (cast_expression "(ushort *)(isFreeList + uVar43 + 3)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + uVar43 + 3)" ( (binary_expression "isFreeList + uVar43 + 3" (binary_expression "isFreeList + uVar43" identifier + identifier) + number_literal) )))) - number_literal) )))) ;) (expression_statement "pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 5) - 1);" (assignment_expression "pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar43 + 5) - 1)" identifier = (cast_expression "(BtShared *)(*(ushort *)(isFreeList + uVar43 + 5) - 1)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(ushort *)(isFreeList + uVar43 + 5) - 1)" ( (binary_expression "*(ushort *)(isFreeList + uVar43 + 5) - 1" (pointer_expression "*(ushort *)(isFreeList + uVar43 + 5)" * (cast_expression "(ushort *)(isFreeList + uVar43 + 5)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + uVar43 + 5)" ( (binary_expression "isFreeList + uVar43 + 5" (binary_expression "isFreeList + uVar43" identifier + identifier) + number_literal) )))) - number_literal) )))) ;) (expression_statement "uVar25 = (uint)pBVar11 & 0xffff;" (assignment_expression "uVar25 = (uint)pBVar11 & 0xffff" identifier = (binary_expression "(uint)pBVar11 & 0xffff" (cast_expression "(uint)pBVar11" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "pBVar19 = (BtShared *)(uVar25 + 1);" (assignment_expression "pBVar19 = (BtShared *)(uVar25 + 1)" identifier = (cast_expression "(BtShared *)(uVar25 + 1)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar25 + 1)" ( (binary_expression "uVar25 + 1" identifier + number_literal) )))) ;) (if_statement "if (pMStack_b4->leaf == 0) {\n        PVar39 = *(Pgno *)(isFreeList + uVar43 + 8);\n        if (pBVar44->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068);\n          checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23);\n        }\n        pBVar11 = (BtShared *)&pPStack_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54));\n        bVar2 = false;\n      }\n      else {\n        unaff_s7 = (Bitvec *)pCheck_00->heap;\n        bVar2 = true;\n        unaff_s7->iSize = 0;\n        iStack_108 = -1;\n      }" if (parenthesized_expression "(pMStack_b4->leaf == 0)" ( (binary_expression "pMStack_b4->leaf == 0" (field_expression "pMStack_b4->leaf" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        PVar39 = *(Pgno *)(isFreeList + uVar43 + 8);\n        if (pBVar44->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068);\n          checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23);\n        }\n        pBVar11 = (BtShared *)&pPStack_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54));\n        bVar2 = false;\n      }" { (expression_statement "PVar39 = *(Pgno *)(isFreeList + uVar43 + 8);" (assignment_expression "PVar39 = *(Pgno *)(isFreeList + uVar43 + 8)" identifier = (pointer_expression "*(Pgno *)(isFreeList + uVar43 + 8)" * (cast_expression "(Pgno *)(isFreeList + uVar43 + 8)" ( (type_descriptor "Pgno *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + uVar43 + 8)" ( (binary_expression "isFreeList + uVar43 + 8" (binary_expression "isFreeList + uVar43" identifier + identifier) + number_literal) ))))) ;) (if_statement "if (pBVar44->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068);\n          checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23);\n        }" if (parenthesized_expression "(pBVar44->autoVacuum != '\0')" ( (binary_expression "pBVar44->autoVacuum != '\0'" (field_expression "pBVar44->autoVacuum" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068);\n          checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23);\n        }" { (expression_statement "pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068);" (assignment_expression "pCheck_00->zPfx = (char *)(*(int *)(puVar49 + 0xe8730) + -0x5068)" (field_expression "pCheck_00->zPfx" identifier -> field_identifier) = (cast_expression "(char *)(*(int *)(puVar49 + 0xe8730) + -0x5068)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar49 + 0xe8730) + -0x5068)" ( (binary_expression "*(int *)(puVar49 + 0xe8730) + -0x5068" (pointer_expression "*(int *)(puVar49 + 0xe8730)" * (cast_expression "(int *)(puVar49 + 0xe8730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8730)" ( (binary_expression "puVar49 + 0xe8730" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23);" (call_expression "checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBVar23)" identifier (argument_list "(pCheck_00,PVar39,'\x05',(Pgno)pBVar23)" ( identifier , identifier , (char_literal "'\x05'" ' escape_sequence ') , (cast_expression "(Pgno)pBVar23" ( (type_descriptor "Pgno" type_identifier) ) identifier) ))) ;) })) (expression_statement "pBVar11 = (BtShared *)&pPStack_58;" (assignment_expression "pBVar11 = (BtShared *)&pPStack_58" identifier = (cast_expression "(BtShared *)&pPStack_58" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPStack_58" & identifier))) ;) (expression_statement "unaff_s7 = (Bitvec *)0x0;" (assignment_expression "unaff_s7 = (Bitvec *)0x0" identifier = (cast_expression "(Bitvec *)0x0" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_108 = checkTreePage(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54));" (assignment_expression "iStack_108 = checkTreePage(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54))" identifier = (call_expression "checkTreePage(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54))" identifier (argument_list "(pCheck_00,PVar39,(i64 *)pBVar11,CONCAT44(pPStack_58,psStack_54))" ( identifier , identifier , (cast_expression "(i64 *)pBVar11" ( (type_descriptor "i64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (call_expression "CONCAT44(pPStack_58,psStack_54)" identifier (argument_list "(pPStack_58,psStack_54)" ( identifier , identifier ))) )))) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) }) (else_clause "else {\n        unaff_s7 = (Bitvec *)pCheck_00->heap;\n        bVar2 = true;\n        unaff_s7->iSize = 0;\n        iStack_108 = -1;\n      }" else (compound_statement "{\n        unaff_s7 = (Bitvec *)pCheck_00->heap;\n        bVar2 = true;\n        unaff_s7->iSize = 0;\n        iStack_108 = -1;\n      }" { (expression_statement "unaff_s7 = (Bitvec *)pCheck_00->heap;" (assignment_expression "unaff_s7 = (Bitvec *)pCheck_00->heap" identifier = (cast_expression "(Bitvec *)pCheck_00->heap" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pCheck_00->heap" identifier -> field_identifier))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (expression_statement "unaff_s7->iSize = 0;" (assignment_expression "unaff_s7->iSize = 0" (field_expression "unaff_s7->iSize" identifier -> field_identifier) = number_literal) ;) (expression_statement "iStack_108 = -1;" (assignment_expression "iStack_108 = -1" identifier = number_literal) ;) }))) (expression_statement "unaff_s2 = pBVar12;" (assignment_expression "unaff_s2 = pBVar12" identifier = identifier) ;) (if_statement "if ((pBVar12 == (BtShared *)0xffffffff) || (pCheck_00->mxErr == 0)) {\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_000a878c:\n        if (0 < pCheck_00->mxErr) {\n          if (pMStack_b4->leaf == '\0') {\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }\n          uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);\n          unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);\n          if (uVar45 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }\n          uVar24 = unaff_s7->iSize;\n          if (uVar24 == 0) {\n            puVar28 = (undefined1 *)0x0;\n          }\n          else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));\nLAB_000a898c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }\n        }\n      }\n      else {\n        puVar28 = puVar10 + -4;\n        bVar3 = true;\n        iVar15 = *(int *)(puVar49 + 0xe8730);\n        pcVar6 = (code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8);\n        iVar40 = *(int *)(puVar49 + 0xe8730);\n        iVar46 = *(int *)(puVar49 + 0xe8914);\n        iVar51 = *(int *)(puVar49 + 0xe8a00);\n        puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n        pBStack_64 = pBVar23;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar23 = (BtShared *)(uint)*puVar33;\n          if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }\n          else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar23 = pBStack_64;\n        pBVar44 = pBVar19;\n        if (bVar3) goto LAB_000a878c;\n        pMStack_b4->isInit = uVar1;\n      }" if (parenthesized_expression "((pBVar12 == (BtShared *)0xffffffff) || (pCheck_00->mxErr == 0))" ( (binary_expression "(pBVar12 == (BtShared *)0xffffffff) || (pCheck_00->mxErr == 0)" (parenthesized_expression "(pBVar12 == (BtShared *)0xffffffff)" ( (binary_expression "pBVar12 == (BtShared *)0xffffffff" identifier == (cast_expression "(BtShared *)0xffffffff" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pCheck_00->mxErr == 0)" ( (binary_expression "pCheck_00->mxErr == 0" (field_expression "pCheck_00->mxErr" identifier -> field_identifier) == number_literal) ))) )) (compound_statement "{\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_000a878c:\n        if (0 < pCheck_00->mxErr) {\n          if (pMStack_b4->leaf == '\0') {\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }\n          uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);\n          unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);\n          if (uVar45 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }\n          uVar24 = unaff_s7->iSize;\n          if (uVar24 == 0) {\n            puVar28 = (undefined1 *)0x0;\n          }\n          else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));\nLAB_000a898c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }\n        }\n      }" { (expression_statement "iStack_108 = iStack_108 + 1;" (assignment_expression "iStack_108 = iStack_108 + 1" identifier = (binary_expression "iStack_108 + 1" identifier + number_literal)) ;) (expression_statement "((BtShared *)iPage)->db = psStack_54;" (assignment_expression "((BtShared *)iPage)->db = psStack_54" (field_expression "((BtShared *)iPage)->db" (parenthesized_expression "((BtShared *)iPage)" ( (cast_expression "(BtShared *)iPage" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) = identifier) ;) (expression_statement "((BtShared *)iPage)->pPager = pPStack_58;" (assignment_expression "((BtShared *)iPage)->pPager = pPStack_58" (field_expression "((BtShared *)iPage)->pPager" (parenthesized_expression "((BtShared *)iPage)" ( (cast_expression "(BtShared *)iPage" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) = identifier) ;) (expression_statement "pCheck_00->zPfx = (char *)0x0;" (assignment_expression "pCheck_00->zPfx = (char *)0x0" (field_expression "pCheck_00->zPfx" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000a878c:\n        if (0 < pCheck_00->mxErr) {\n          if (pMStack_b4->leaf == '\0') {\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }\n          uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);\n          unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);\n          if (uVar45 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }\n          uVar24 = unaff_s7->iSize;\n          if (uVar24 == 0) {\n            puVar28 = (undefined1 *)0x0;\n          }\n          else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));\nLAB_000a898c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }\n        }" statement_identifier : (if_statement "if (0 < pCheck_00->mxErr) {\n          if (pMStack_b4->leaf == '\0') {\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }\n          uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);\n          unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);\n          if (uVar45 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }\n          uVar24 = unaff_s7->iSize;\n          if (uVar24 == 0) {\n            puVar28 = (undefined1 *)0x0;\n          }\n          else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));\nLAB_000a898c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }\n        }" if (parenthesized_expression "(0 < pCheck_00->mxErr)" ( (binary_expression "0 < pCheck_00->mxErr" number_literal < (field_expression "pCheck_00->mxErr" identifier -> field_identifier)) )) (compound_statement "{\n          if (pMStack_b4->leaf == '\0') {\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }\n          uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);\n          unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);\n          if (uVar45 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }\n          uVar24 = unaff_s7->iSize;\n          if (uVar24 == 0) {\n            puVar28 = (undefined1 *)0x0;\n          }\n          else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));\nLAB_000a898c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }\n        }" { (if_statement "if (pMStack_b4->leaf == '\0') {\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }" if (parenthesized_expression "(pMStack_b4->leaf == '\0')" ( (binary_expression "pMStack_b4->leaf == '\0'" (field_expression "pMStack_b4->leaf" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            unaff_s7 = (Bitvec *)pCheck_00->heap;\n            unaff_s7->iSize = 0;\n            if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }\n          }" { (expression_statement "unaff_s7 = (Bitvec *)pCheck_00->heap;" (assignment_expression "unaff_s7 = (Bitvec *)pCheck_00->heap" identifier = (cast_expression "(Bitvec *)pCheck_00->heap" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pCheck_00->heap" identifier -> field_identifier))) ;) (expression_statement "unaff_s7->iSize = 0;" (assignment_expression "unaff_s7->iSize = 0" (field_expression "unaff_s7->iSize" identifier -> field_identifier) = number_literal) ;) (if_statement "if (pBVar12 != (BtShared *)0xffffffff) {\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }" if (parenthesized_expression "(pBVar12 != (BtShared *)0xffffffff)" ( (binary_expression "pBVar12 != (BtShared *)0xffffffff" identifier != (cast_expression "(BtShared *)0xffffffff" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;\n              puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n              pBStack_64 = pBVar23;\n              do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);\n            }" { (expression_statement "iPage = *(int *)(puVar49 + 0xe8914) + 0x1738;" (assignment_expression "iPage = *(int *)(puVar49 + 0xe8914) + 0x1738" identifier = (binary_expression "*(int *)(puVar49 + 0xe8914) + 0x1738" (pointer_expression "*(int *)(puVar49 + 0xe8914)" * (cast_expression "(int *)(puVar49 + 0xe8914)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8914)" ( (binary_expression "puVar49 + 0xe8914" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);" (assignment_expression "puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14)" identifier = (cast_expression "(ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + (int)pBVar12 * 2 + iVar14)" ( (binary_expression "isFreeList + (int)pBVar12 * 2 + iVar14" (binary_expression "isFreeList + (int)pBVar12 * 2" identifier + (binary_expression "(int)pBVar12 * 2" (cast_expression "(int)pBVar12" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + identifier) )))) ;) (expression_statement "pBStack_64 = pBVar23;" (assignment_expression "pBStack_64 = pBVar23" identifier = identifier) ;) (do_statement "do {\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar14 + -2) != puVar37);" do (compound_statement "{\n                puVar37 = puVar33 + -1;\n                uVar45 = (uint)*puVar33;\n                uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));\n                pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);\n                puVar33 = puVar37;\n                pBVar23 = pBStack_64;\n              }" { (expression_statement "puVar37 = puVar33 + -1;" (assignment_expression "puVar37 = puVar33 + -1" identifier = (binary_expression "puVar33 + -1" identifier + number_literal)) ;) (expression_statement "uVar45 = (uint)*puVar33;" (assignment_expression "uVar45 = (uint)*puVar33" identifier = (binary_expression "(uint)*puVar33" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45));" (assignment_expression "uVar16 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45))" identifier = (call_expression "(*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar45))" (parenthesized_expression "(*pMStack_b4->xCellSize)" ( (pointer_expression "*pMStack_b4->xCellSize" * (field_expression "pMStack_b4->xCellSize" identifier -> field_identifier)) )) (argument_list "(pMStack_b4,(u8 *)(isFreeList + uVar45))" ( identifier , (cast_expression "(u8 *)(isFreeList + uVar45)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + uVar45)" ( (binary_expression "isFreeList + uVar45" identifier + identifier) ))) )))) ;) (expression_statement "pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45);" (assignment_expression "pBVar44 = (BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45)" identifier = (cast_expression "(BtShared *)(CONCAT22(extraout_var,uVar16) + -1 + uVar45)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CONCAT22(extraout_var,uVar16) + -1 + uVar45)" ( (binary_expression "CONCAT22(extraout_var,uVar16) + -1 + uVar45" (binary_expression "CONCAT22(extraout_var,uVar16) + -1" (call_expression "CONCAT22(extraout_var,uVar16)" identifier (argument_list "(extraout_var,uVar16)" ( identifier , identifier ))) + number_literal) + identifier) )))) ;) (expression_statement "(*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10);" (call_expression "(*(code *)iPage)(unaff_s7,(uint)pBVar44 | uVar45 << 0x10)" (parenthesized_expression "(*(code *)iPage)" ( (pointer_expression "*(code *)iPage" * (cast_expression "(code *)iPage" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,(uint)pBVar44 | uVar45 << 0x10)" ( identifier , (binary_expression "(uint)pBVar44 | uVar45 << 0x10" (cast_expression "(uint)pBVar44" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "uVar45 << 0x10" identifier << number_literal)) ))) ;) (expression_statement "puVar33 = puVar37;" (assignment_expression "puVar33 = puVar37" identifier = identifier) ;) (expression_statement "pBVar23 = pBStack_64;" (assignment_expression "pBVar23 = pBStack_64" identifier = identifier) ;) }) while (parenthesized_expression "((ushort *)(isFreeList + iVar14 + -2) != puVar37)" ( (binary_expression "(ushort *)(isFreeList + iVar14 + -2) != puVar37" (cast_expression "(ushort *)(isFreeList + iVar14 + -2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + iVar14 + -2)" ( (binary_expression "isFreeList + iVar14 + -2" (binary_expression "isFreeList + iVar14" identifier + identifier) + number_literal) ))) != identifier) )) ;) })) })) (expression_statement "uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1);" (assignment_expression "uVar45 = (uint)*(ushort *)(isFreeList + uVar43 + 1)" identifier = (binary_expression "(uint)*(ushort *)(isFreeList + uVar43 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(isFreeList + uVar43 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + uVar43 + 1)" ( (binary_expression "isFreeList + uVar43 + 1" (binary_expression "isFreeList + uVar43" identifier + identifier) + number_literal) ))))) ;) (expression_statement "unaff_s2 = *(BtShared **)(puVar49 + 0xe8914);" (assignment_expression "unaff_s2 = *(BtShared **)(puVar49 + 0xe8914)" identifier = (pointer_expression "*(BtShared **)(puVar49 + 0xe8914)" * (cast_expression "(BtShared **)(puVar49 + 0xe8914)" ( (type_descriptor "BtShared **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar49 + 0xe8914)" ( (binary_expression "puVar49 + 0xe8914" identifier + number_literal) ))))) ;) (if_statement "if (uVar45 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }" if (parenthesized_expression "(uVar45 != 0)" ( (binary_expression "uVar45 != 0" identifier != number_literal) )) (compound_statement "{\n            unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;\n            piVar29 = (int *)unaff_s2;\n            do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);\n          }" { (expression_statement "unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef;" (assignment_expression "unaff_s2 = (BtShared *)&unaff_s2[0x46].nRef" identifier = (cast_expression "(BtShared *)&unaff_s2[0x46].nRef" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s2[0x46].nRef" & (field_expression "unaff_s2[0x46].nRef" (subscript_expression "unaff_s2[0x46]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "piVar29 = (int *)unaff_s2;" (assignment_expression "piVar29 = (int *)unaff_s2" identifier = (cast_expression "(int *)unaff_s2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            } while (uVar45 != 0);" do (compound_statement "{\n              puVar33 = (ushort *)(isFreeList + uVar45);\n              (*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);\n              uVar45 = (uint)*puVar33;\n            }" { (expression_statement "puVar33 = (ushort *)(isFreeList + uVar45);" (assignment_expression "puVar33 = (ushort *)(isFreeList + uVar45)" identifier = (cast_expression "(ushort *)(isFreeList + uVar45)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + uVar45)" ( (binary_expression "isFreeList + uVar45" identifier + identifier) )))) ;) (expression_statement "(*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10);" (call_expression "(*(code *)piVar29)(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10)" (parenthesized_expression "(*(code *)piVar29)" ( (pointer_expression "*(code *)piVar29" * (cast_expression "(code *)piVar29" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,(puVar33[1] + uVar45) - 1 | uVar45 << 0x10)" ( identifier , (binary_expression "(puVar33[1] + uVar45) - 1 | uVar45 << 0x10" (binary_expression "(puVar33[1] + uVar45) - 1" (parenthesized_expression "(puVar33[1] + uVar45)" ( (binary_expression "puVar33[1] + uVar45" (subscript_expression "puVar33[1]" identifier [ number_literal ]) + identifier) )) - number_literal) | (binary_expression "uVar45 << 0x10" identifier << number_literal)) ))) ;) (expression_statement "uVar45 = (uint)*puVar33;" (assignment_expression "uVar45 = (uint)*puVar33" identifier = (binary_expression "(uint)*puVar33" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) while (parenthesized_expression "(uVar45 != 0)" ( (binary_expression "uVar45 != 0" identifier != number_literal) )) ;) })) (expression_statement "uVar24 = unaff_s7->iSize;" (assignment_expression "uVar24 = unaff_s7->iSize" identifier = (field_expression "unaff_s7->iSize" identifier -> field_identifier)) ;) (if_statement "if (uVar24 == 0) {\n            puVar28 = (undefined1 *)0x0;\n          }\n          else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar28 = (undefined1 *)0x0;\n          }" { (expression_statement "puVar28 = (undefined1 *)0x0;" (assignment_expression "puVar28 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }" else (compound_statement "{\n            puVar28 = (undefined1 *)0x0;\n            do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);\n            uVar25 = uVar45 & 0xffff;\n          }" { (expression_statement "puVar28 = (undefined1 *)0x0;" (assignment_expression "puVar28 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            } while (uVar24 != 0);" do (compound_statement "{\n              uVar45 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];\n              (&unaff_s7->iSize)[uVar24] = 0xffffffff;\n              uVar24 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar24;\n              if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }\n              pBVar11 = (BtShared *)(uVar45 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar25 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }\n              puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));\n              uVar25 = uVar45;\n            }" { (expression_statement "uVar45 = unaff_s7->nSet;" (assignment_expression "uVar45 = unaff_s7->nSet" identifier = (field_expression "unaff_s7->nSet" identifier -> field_identifier)) ;) (expression_statement "unaff_s7->nSet = (&unaff_s7->iSize)[uVar24];" (assignment_expression "unaff_s7->nSet = (&unaff_s7->iSize)[uVar24]" (field_expression "unaff_s7->nSet" identifier -> field_identifier) = (subscript_expression "(&unaff_s7->iSize)[uVar24]" (parenthesized_expression "(&unaff_s7->iSize)" ( (pointer_expression "&unaff_s7->iSize" & (field_expression "unaff_s7->iSize" identifier -> field_identifier)) )) [ identifier ])) ;) (expression_statement "(&unaff_s7->iSize)[uVar24] = 0xffffffff;" (assignment_expression "(&unaff_s7->iSize)[uVar24] = 0xffffffff" (subscript_expression "(&unaff_s7->iSize)[uVar24]" (parenthesized_expression "(&unaff_s7->iSize)" ( (pointer_expression "&unaff_s7->iSize" & (field_expression "unaff_s7->iSize" identifier -> field_identifier)) )) [ identifier ]) = number_literal) ;) (expression_statement "uVar24 = unaff_s7->iSize - 1;" (assignment_expression "uVar24 = unaff_s7->iSize - 1" identifier = (binary_expression "unaff_s7->iSize - 1" (field_expression "unaff_s7->iSize" identifier -> field_identifier) - number_literal)) ;) (expression_statement "unaff_s7->iSize = uVar24;" (assignment_expression "unaff_s7->iSize = uVar24" (field_expression "unaff_s7->iSize" identifier -> field_identifier) = identifier) ;) (if_statement "if (1 < uVar24) {\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }" if (parenthesized_expression "(1 < uVar24)" ( (binary_expression "1 < uVar24" number_literal < identifier) )) (compound_statement "{\n                uVar34 = unaff_s7->nSet;\n                uVar32 = 2;\n                uVar13 = 1;\n                do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);\n              }" { (expression_statement "uVar34 = unaff_s7->nSet;" (assignment_expression "uVar34 = unaff_s7->nSet" identifier = (field_expression "unaff_s7->nSet" identifier -> field_identifier)) ;) (expression_statement "uVar32 = 2;" (assignment_expression "uVar32 = 2" identifier = number_literal) ;) (expression_statement "uVar13 = 1;" (assignment_expression "uVar13 = 1" identifier = number_literal) ;) (do_statement "do {\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                } while (uVar32 <= uVar24);" do (compound_statement "{\n                  puVar27 = &unaff_s7->nSet + uVar32;\n                  uVar18 = *puVar27;\n                  uVar20 = uVar32 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }\n                  if (uVar34 < uVar18) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar18;\n                  uVar32 = uVar20 << 1;\n                  *puVar27 = uVar34;\n                  uVar24 = unaff_s7->iSize;\n                  uVar13 = uVar20;\n                }" { (expression_statement "puVar27 = &unaff_s7->nSet + uVar32;" (assignment_expression "puVar27 = &unaff_s7->nSet + uVar32" identifier = (binary_expression "&unaff_s7->nSet + uVar32" (pointer_expression "&unaff_s7->nSet" & (field_expression "unaff_s7->nSet" identifier -> field_identifier)) + identifier)) ;) (expression_statement "uVar18 = *puVar27;" (assignment_expression "uVar18 = *puVar27" identifier = (pointer_expression "*puVar27" * identifier)) ;) (expression_statement "uVar20 = uVar32 + 1;" (assignment_expression "uVar20 = uVar32 + 1" identifier = (binary_expression "uVar32 + 1" identifier + number_literal)) ;) (if_statement "if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar18) {\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }" if (parenthesized_expression "((&unaff_s7->iSize)[uVar13 * 2] <= uVar18)" ( (binary_expression "(&unaff_s7->iSize)[uVar13 * 2] <= uVar18" (subscript_expression "(&unaff_s7->iSize)[uVar13 * 2]" (parenthesized_expression "(&unaff_s7->iSize)" ( (pointer_expression "&unaff_s7->iSize" & (field_expression "unaff_s7->iSize" identifier -> field_identifier)) )) [ (binary_expression "uVar13 * 2" identifier * number_literal) ]) <= identifier) )) (compound_statement "{\n                    puVar27 = &unaff_s7->iSize + uVar32;\n                    uVar18 = *puVar27;\n                    uVar20 = uVar32;\n                  }" { (expression_statement "puVar27 = &unaff_s7->iSize + uVar32;" (assignment_expression "puVar27 = &unaff_s7->iSize + uVar32" identifier = (binary_expression "&unaff_s7->iSize + uVar32" (pointer_expression "&unaff_s7->iSize" & (field_expression "unaff_s7->iSize" identifier -> field_identifier)) + identifier)) ;) (expression_statement "uVar18 = *puVar27;" (assignment_expression "uVar18 = *puVar27" identifier = (pointer_expression "*puVar27" * identifier)) ;) (expression_statement "uVar20 = uVar32;" (assignment_expression "uVar20 = uVar32" identifier = identifier) ;) })) (if_statement "if (uVar34 < uVar18) break;" if (parenthesized_expression "(uVar34 < uVar18)" ( (binary_expression "uVar34 < uVar18" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "(&unaff_s7->iSize)[uVar13] = uVar18;" (assignment_expression "(&unaff_s7->iSize)[uVar13] = uVar18" (subscript_expression "(&unaff_s7->iSize)[uVar13]" (parenthesized_expression "(&unaff_s7->iSize)" ( (pointer_expression "&unaff_s7->iSize" & (field_expression "unaff_s7->iSize" identifier -> field_identifier)) )) [ identifier ]) = identifier) ;) (expression_statement "uVar32 = uVar20 << 1;" (assignment_expression "uVar32 = uVar20 << 1" identifier = (binary_expression "uVar20 << 1" identifier << number_literal)) ;) (expression_statement "*puVar27 = uVar34;" (assignment_expression "*puVar27 = uVar34" (pointer_expression "*puVar27" * identifier) = identifier) ;) (expression_statement "uVar24 = unaff_s7->iSize;" (assignment_expression "uVar24 = unaff_s7->iSize" identifier = (field_expression "unaff_s7->iSize" identifier -> field_identifier)) ;) (expression_statement "uVar13 = uVar20;" (assignment_expression "uVar13 = uVar20" identifier = identifier) ;) }) while (parenthesized_expression "(uVar32 <= uVar24)" ( (binary_expression "uVar32 <= uVar24" identifier <= identifier) )) ;) })) (expression_statement "pBVar11 = (BtShared *)(uVar45 >> 0x10);" (assignment_expression "pBVar11 = (BtShared *)(uVar45 >> 0x10)" identifier = (cast_expression "(BtShared *)(uVar45 >> 0x10)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar45 >> 0x10)" ( (binary_expression "uVar45 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "unaff_s2 = (BtShared *)(uVar25 & 0xffff);" (assignment_expression "unaff_s2 = (BtShared *)(uVar25 & 0xffff)" identifier = (cast_expression "(BtShared *)(uVar25 & 0xffff)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar25 & 0xffff)" ( (binary_expression "uVar25 & 0xffff" identifier & number_literal) )))) ;) (if_statement "if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }" if (parenthesized_expression "(pBVar11 <= unaff_s2)" ( (binary_expression "pBVar11 <= unaff_s2" identifier <= identifier) )) (compound_statement "{\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);\n                if (unaff_s7->iSize != 0) goto LAB_000a86bc;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));\n                goto LAB_000a898c;\n              }" { (expression_statement "checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23);" (call_expression "checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23)" identifier (argument_list "(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0),pBVar11,\n                               pBVar23)" ( identifier , (cast_expression "(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fe0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar49 + 0xe8730) + -0x4fe0)" ( (binary_expression "*(int *)(puVar49 + 0xe8730) + -0x4fe0" (pointer_expression "*(int *)(puVar49 + 0xe8730)" * (cast_expression "(int *)(puVar49 + 0xe8730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8730)" ( (binary_expression "puVar49 + 0xe8730" identifier + number_literal) )))) + number_literal) ))) , identifier , identifier ))) ;) (if_statement "if (unaff_s7->iSize != 0) goto LAB_000a86bc;" if (parenthesized_expression "(unaff_s7->iSize != 0)" ( (binary_expression "unaff_s7->iSize != 0" (field_expression "unaff_s7->iSize" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_000a86bc;" goto statement_identifier ;)) (expression_statement "pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)));" (assignment_expression "pBVar11 = (BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)))" identifier = (cast_expression "(BtShared *)(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)))" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2)))" ( (binary_expression "puVar10 + (int)(puVar28 + (-1 - (int)unaff_s2))" identifier + (cast_expression "(int)(puVar28 + (-1 - (int)unaff_s2))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar28 + (-1 - (int)unaff_s2))" ( (binary_expression "puVar28 + (-1 - (int)unaff_s2)" identifier + (parenthesized_expression "(-1 - (int)unaff_s2)" ( (binary_expression "-1 - (int)unaff_s2" number_literal - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) )))) ;) (goto_statement "goto LAB_000a898c;" goto statement_identifier ;) })) (expression_statement "puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)));" (assignment_expression "puVar28 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)))" identifier = (cast_expression "(undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2)))" ( (binary_expression "(int)&pBVar11->pPager + (int)(puVar28 + (-1 - (int)unaff_s2))" (cast_expression "(int)&pBVar11->pPager" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar11->pPager" & (field_expression "pBVar11->pPager" identifier -> field_identifier))) + (cast_expression "(int)(puVar28 + (-1 - (int)unaff_s2))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar28 + (-1 - (int)unaff_s2))" ( (binary_expression "puVar28 + (-1 - (int)unaff_s2)" identifier + (parenthesized_expression "(-1 - (int)unaff_s2)" ( (binary_expression "-1 - (int)unaff_s2" number_literal - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) )))) ;) (expression_statement "uVar25 = uVar45;" (assignment_expression "uVar25 = uVar45" identifier = identifier) ;) }) while (parenthesized_expression "(uVar24 != 0)" ( (binary_expression "uVar24 != 0" identifier != number_literal) )) ;) (expression_statement "uVar25 = uVar45 & 0xffff;" (assignment_expression "uVar25 = uVar45 & 0xffff" identifier = (binary_expression "uVar45 & 0xffff" identifier & number_literal)) ;) }))) (expression_statement "unaff_s7 = (Bitvec *)(puVar10 + -1);" (assignment_expression "unaff_s7 = (Bitvec *)(puVar10 + -1)" identifier = (cast_expression "(Bitvec *)(puVar10 + -1)" ( (type_descriptor "Bitvec *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -1)" ( (binary_expression "puVar10 + -1" identifier + number_literal) )))) ;) (expression_statement "pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25));" (assignment_expression "pBVar11 = (BtShared *)(puVar28 + ((int)unaff_s7 - uVar25))" identifier = (cast_expression "(BtShared *)(puVar28 + ((int)unaff_s7 - uVar25))" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + ((int)unaff_s7 - uVar25))" ( (binary_expression "puVar28 + ((int)unaff_s7 - uVar25)" identifier + (parenthesized_expression "((int)unaff_s7 - uVar25)" ( (binary_expression "(int)unaff_s7 - uVar25" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) )))) ;) (labeled_statement "LAB_000a898c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }" statement_identifier : (if_statement "if ((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }" if (parenthesized_expression "((BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11)" ( (binary_expression "(BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7) != pBVar11" (binary_expression "(BtShared *)(uint)*(byte *)(isFreeList + uVar43 + 7)" (cast_expression "(BtShared *)(uint)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(isFreeList + uVar43 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + uVar43 + 7)" ( (binary_expression "isFreeList + uVar43 + 7" (binary_expression "isFreeList + uVar43" identifier + identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));\n          }" { (expression_statement "checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8));" (call_expression "checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8))" identifier (argument_list "(pCheck_00,(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8))" ( identifier , (cast_expression "(char *)(*(int *)(puVar49 + 0xe8730) + -0x4fb8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar49 + 0xe8730) + -0x4fb8)" ( (binary_expression "*(int *)(puVar49 + 0xe8730) + -0x4fb8" (pointer_expression "*(int *)(puVar49 + 0xe8730)" * (cast_expression "(int *)(puVar49 + 0xe8730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8730)" ( (binary_expression "puVar49 + 0xe8730" identifier + number_literal) )))) + number_literal) ))) ))) ;) }))) }))) }) (else_clause "else {\n        puVar28 = puVar10 + -4;\n        bVar3 = true;\n        iVar15 = *(int *)(puVar49 + 0xe8730);\n        pcVar6 = (code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8);\n        iVar40 = *(int *)(puVar49 + 0xe8730);\n        iVar46 = *(int *)(puVar49 + 0xe8914);\n        iVar51 = *(int *)(puVar49 + 0xe8a00);\n        puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n        pBStack_64 = pBVar23;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar23 = (BtShared *)(uint)*puVar33;\n          if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }\n          else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar23 = pBStack_64;\n        pBVar44 = pBVar19;\n        if (bVar3) goto LAB_000a878c;\n        pMStack_b4->isInit = uVar1;\n      }" else (compound_statement "{\n        puVar28 = puVar10 + -4;\n        bVar3 = true;\n        iVar15 = *(int *)(puVar49 + 0xe8730);\n        pcVar6 = (code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8);\n        iVar40 = *(int *)(puVar49 + 0xe8730);\n        iVar46 = *(int *)(puVar49 + 0xe8914);\n        iVar51 = *(int *)(puVar49 + 0xe8a00);\n        puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);\n        pBStack_64 = pBVar23;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar23 = (BtShared *)(uint)*puVar33;\n          if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }\n          else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = pPStack_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar23 = pBStack_64;\n        pBVar44 = pBVar19;\n        if (bVar3) goto LAB_000a878c;\n        pMStack_b4->isInit = uVar1;\n      }" { (expression_statement "puVar28 = puVar10 + -4;" (assignment_expression "puVar28 = puVar10 + -4" identifier = (binary_expression "puVar10 + -4" identifier + number_literal)) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "iVar15 = *(int *)(puVar49 + 0xe8730);" (assignment_expression "iVar15 = *(int *)(puVar49 + 0xe8730)" identifier = (pointer_expression "*(int *)(puVar49 + 0xe8730)" * (cast_expression "(int *)(puVar49 + 0xe8730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8730)" ( (binary_expression "puVar49 + 0xe8730" identifier + number_literal) ))))) ;) (expression_statement "pcVar6 = (code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8);" (assignment_expression "pcVar6 = (code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8)" identifier = (cast_expression "(code *)(*(int *)(puVar49 + 0xe8998) + 0x7bb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar49 + 0xe8998) + 0x7bb8)" ( (binary_expression "*(int *)(puVar49 + 0xe8998) + 0x7bb8" (pointer_expression "*(int *)(puVar49 + 0xe8998)" * (cast_expression "(int *)(puVar49 + 0xe8998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8998)" ( (binary_expression "puVar49 + 0xe8998" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar40 = *(int *)(puVar49 + 0xe8730);" (assignment_expression "iVar40 = *(int *)(puVar49 + 0xe8730)" identifier = (pointer_expression "*(int *)(puVar49 + 0xe8730)" * (cast_expression "(int *)(puVar49 + 0xe8730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8730)" ( (binary_expression "puVar49 + 0xe8730" identifier + number_literal) ))))) ;) (expression_statement "iVar46 = *(int *)(puVar49 + 0xe8914);" (assignment_expression "iVar46 = *(int *)(puVar49 + 0xe8914)" identifier = (pointer_expression "*(int *)(puVar49 + 0xe8914)" * (cast_expression "(int *)(puVar49 + 0xe8914)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8914)" ( (binary_expression "puVar49 + 0xe8914" identifier + number_literal) ))))) ;) (expression_statement "iVar51 = *(int *)(puVar49 + 0xe8a00);" (assignment_expression "iVar51 = *(int *)(puVar49 + 0xe8a00)" identifier = (pointer_expression "*(int *)(puVar49 + 0xe8a00)" * (cast_expression "(int *)(puVar49 + 0xe8a00)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8a00)" ( (binary_expression "puVar49 + 0xe8a00" identifier + number_literal) ))))) ;) (expression_statement "puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14);" (assignment_expression "puVar33 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14)" identifier = (cast_expression "(ushort *)(isFreeList + (int)pBVar12 * 2 + iVar14)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + (int)pBVar12 * 2 + iVar14)" ( (binary_expression "isFreeList + (int)pBVar12 * 2 + iVar14" (binary_expression "isFreeList + (int)pBVar12 * 2" identifier + (binary_expression "(int)pBVar12 * 2" (cast_expression "(int)pBVar12" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + identifier) )))) ;) (expression_statement "pBStack_64 = pBVar23;" (assignment_expression "pBStack_64 = pBVar23" identifier = identifier) ;) (do_statement "do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar23 = (BtShared *)(uint)*puVar33;\n          if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }\n          else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0));" do (compound_statement "{\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar23 = (BtShared *)(uint)*puVar33;\n          if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }\n          else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        }" { (expression_statement "pCheck_00->v2 = (int)unaff_s2;" (assignment_expression "pCheck_00->v2 = (int)unaff_s2" (field_expression "pCheck_00->v2" identifier -> field_identifier) = (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pBVar23 = (BtShared *)(uint)*puVar33;" (assignment_expression "pBVar23 = (BtShared *)(uint)*puVar33" identifier = (binary_expression "(BtShared *)(uint)*puVar33" (cast_expression "(BtShared *)(uint)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (if_statement "if ((pBVar23 < pBVar19) || (puVar28 < pBVar23)) {\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }\n          else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }" if (parenthesized_expression "((pBVar23 < pBVar19) || (puVar28 < pBVar23))" ( (binary_expression "(pBVar23 < pBVar19) || (puVar28 < pBVar23)" (parenthesized_expression "(pBVar23 < pBVar19)" ( (binary_expression "pBVar23 < pBVar19" identifier < identifier) )) || (parenthesized_expression "(puVar28 < pBVar23)" ( (binary_expression "puVar28 < pBVar23" identifier < identifier) ))) )) (compound_statement "{\n            (*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);\n            bVar3 = false;\n            pBVar11 = pBVar23;\n          }" { (expression_statement "(*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19);" (call_expression "(*pcVar6)(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(pCheck_00,iVar15 + -0x504c,pBVar23,pBVar19)" ( identifier , (binary_expression "iVar15 + -0x504c" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "pBVar11 = pBVar23;" (assignment_expression "pBVar11 = pBVar23" identifier = identifier) ;) }) (else_clause "else {\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }" else (compound_statement "{\n            pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }\n          }" { (expression_statement "pPVar36 = (Pgno *)(isFreeList + (int)pBVar23);" (assignment_expression "pPVar36 = (Pgno *)(isFreeList + (int)pBVar23)" identifier = (cast_expression "(Pgno *)(isFreeList + (int)pBVar23)" ( (type_descriptor "Pgno *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + (int)pBVar23)" ( (binary_expression "isFreeList + (int)pBVar23" identifier + (cast_expression "(int)pBVar23" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pBVar11 = (BtShared *)auStack_b0;" (assignment_expression "pBVar11 = (BtShared *)auStack_b0" identifier = (cast_expression "(BtShared *)auStack_b0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11);" (call_expression "(*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11)" (parenthesized_expression "(*pMStack_b4->xParseCell)" ( (pointer_expression "*pMStack_b4->xParseCell" * (field_expression "pMStack_b4->xParseCell" identifier -> field_identifier)) )) (argument_list "(pMStack_b4,(u8 *)pPVar36,(CellInfo *)pBVar11)" ( identifier , (cast_expression "(u8 *)pPVar36" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(CellInfo *)pBVar11" ( (type_descriptor "CellInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }\n            else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }" if (parenthesized_expression "(puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_))" ( (binary_expression "puVar10 < (undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)" identifier < (cast_expression "(undefined1 *)((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_)" ( (binary_expression "(int)&pBVar23->pPager + (uint)(ushort)auStack_b0._18_2_" (cast_expression "(int)&pBVar23->pPager" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar23->pPager" & (field_expression "pBVar23->pPager" identifier -> field_identifier))) + (cast_expression "(uint)(ushort)auStack_b0._18_2_" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)auStack_b0._18_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "auStack_b0._18_2_" identifier . field_identifier)))) )))) )) (compound_statement "{\n              (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);\n              bVar3 = false;\n            }" { (expression_statement "(*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c);" (call_expression "(*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x502c)" ( identifier , (binary_expression "*(int *)(puVar49 + 0xe8730) + -0x502c" (pointer_expression "*(int *)(puVar49 + 0xe8730)" * (cast_expression "(int *)(puVar49 + 0xe8730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8730)" ( (binary_expression "puVar49 + 0xe8730" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) }) (else_clause "else {\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }" else (compound_statement "{\n              if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }\n              if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }\n            }" { (if_statement "if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }" if (parenthesized_expression "(pMStack_b4->intKey != '\0')" ( (binary_expression "pMStack_b4->intKey != '\0'" (field_expression "pMStack_b4->intKey" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }\n                bVar2 = false;\n                pPStack_58 = (Pager *)auStack_b0._0_4_;\n                psStack_54 = (sqlite3 *)auStack_b0._4_4_;\n              }" { (if_statement "if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if ((int)auStack_b0._0_4_ <= (int)pPStack_58) {\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }" if (parenthesized_expression "((int)auStack_b0._0_4_ <= (int)pPStack_58)" ( (binary_expression "(int)auStack_b0._0_4_ <= (int)pPStack_58" (cast_expression "(int)auStack_b0._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "auStack_b0._0_4_" identifier . field_identifier)) <= (cast_expression "(int)pPStack_58" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                    if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }" { (if_statement "if ((Pager *)auStack_b0._0_4_ != pPStack_58) goto LAB_000a89e0;" if (parenthesized_expression "((Pager *)auStack_b0._0_4_ != pPStack_58)" ( (binary_expression "(Pager *)auStack_b0._0_4_ != pPStack_58" (cast_expression "(Pager *)auStack_b0._0_4_" ( (type_descriptor "Pager *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_b0._0_4_" identifier . field_identifier)) != identifier) )) (goto_statement "goto LAB_000a89e0;" goto statement_identifier ;)) (if_statement "if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }" if (parenthesized_expression "((uint)auStack_b0._4_4_ <= psStack_54)" ( (binary_expression "(uint)auStack_b0._4_4_ <= psStack_54" (cast_expression "(uint)auStack_b0._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "auStack_b0._4_4_" identifier . field_identifier)) <= identifier) )) (compound_statement "{\n                      bVar2 = false;\n                    }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) })) })) }) (else_clause "else {\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }" else (compound_statement "{\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if (((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }" if (parenthesized_expression "(((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54))))" ( (binary_expression "((int)auStack_b0._0_4_ < (int)pPStack_58) ||\n                     ((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))" (parenthesized_expression "((int)auStack_b0._0_4_ < (int)pPStack_58)" ( (binary_expression "(int)auStack_b0._0_4_ < (int)pPStack_58" (cast_expression "(int)auStack_b0._0_4_" ( (type_descriptor "int" primitive_type) ) (field_expression "auStack_b0._0_4_" identifier . field_identifier)) < (cast_expression "(int)pPStack_58" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))" ( (parenthesized_expression "(pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54))" ( (binary_expression "pPStack_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)" (binary_expression "pPStack_58 == (Pager *)auStack_b0._0_4_" identifier == (cast_expression "(Pager *)auStack_b0._0_4_" ( (type_descriptor "Pager *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_b0._0_4_" identifier . field_identifier))) && (parenthesized_expression "((uint)auStack_b0._4_4_ < psStack_54)" ( (binary_expression "(uint)auStack_b0._4_4_ < psStack_54" (cast_expression "(uint)auStack_b0._4_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "auStack_b0._4_4_" identifier . field_identifier)) < identifier) ))) )) ))) )) (compound_statement "{\nLAB_000a89e0:\n                    bVar2 = false;\n                  }" { (labeled_statement "LAB_000a89e0:\n                    bVar2 = false;" statement_identifier : (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;)) })) }))) (if_statement "if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n                  (*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);\n                }" { (expression_statement "(*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014);" (call_expression "(*pcVar6)(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(pCheck_00,*(int *)(puVar49 + 0xe8730) + -0x5014)" ( identifier , (binary_expression "*(int *)(puVar49 + 0xe8730) + -0x5014" (pointer_expression "*(int *)(puVar49 + 0xe8730)" * (cast_expression "(int *)(puVar49 + 0xe8730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8730)" ( (binary_expression "puVar49 + 0xe8730" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "pPStack_58 = (Pager *)auStack_b0._0_4_;" (assignment_expression "pPStack_58 = (Pager *)auStack_b0._0_4_" identifier = (cast_expression "(Pager *)auStack_b0._0_4_" ( (type_descriptor "Pager *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_b0._0_4_" identifier . field_identifier))) ;) (expression_statement "psStack_54 = (sqlite3 *)auStack_b0._4_4_;" (assignment_expression "psStack_54 = (sqlite3 *)auStack_b0._4_4_" identifier = (cast_expression "(sqlite3 *)auStack_b0._4_4_" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_b0._4_4_" identifier . field_identifier))) ;) })) (if_statement "if ((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_) {\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }" if (parenthesized_expression "((MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_)" ( (binary_expression "(MemPage *)(uint)(ushort)auStack_b0._16_2_ < (uint)auStack_b0._12_4_" (cast_expression "(MemPage *)(uint)(ushort)auStack_b0._16_2_" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(ushort)auStack_b0._16_2_" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)auStack_b0._16_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "auStack_b0._16_2_" identifier . field_identifier)))) < (cast_expression "(uint)auStack_b0._12_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "auStack_b0._12_4_" identifier . field_identifier))) )) (compound_statement "{\n                iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);\n              }" { (expression_statement "iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);" (assignment_expression "iVar31 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_)" identifier = (binary_expression "auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_)" (field_expression "auStack_b0._12_4_" identifier . field_identifier) + (parenthesized_expression "(-5 - (int)(uint)(ushort)auStack_b0._16_2_)" ( (binary_expression "-5 - (int)(uint)(ushort)auStack_b0._16_2_" number_literal - (cast_expression "(int)(uint)(ushort)auStack_b0._16_2_" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)(ushort)auStack_b0._16_2_" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(ushort)auStack_b0._16_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "auStack_b0._16_2_" identifier . field_identifier))))) )))) ;) (expression_statement "PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4));" (assignment_expression "PVar39 = *(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4))" identifier = (pointer_expression "*(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4))" * (cast_expression "(Pgno *)((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4))" ( (type_descriptor "Pgno *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4))" ( (binary_expression "(int)pPVar36 + ((ushort)auStack_b0._18_2_ - 4)" (cast_expression "(int)pPVar36" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((ushort)auStack_b0._18_2_ - 4)" ( (binary_expression "(ushort)auStack_b0._18_2_ - 4" (cast_expression "(ushort)auStack_b0._18_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "auStack_b0._18_2_" identifier . field_identifier)) - number_literal) ))) ))))) ;) (if_statement "if (puVar28 == (undefined1 *)0x0) {\n                  trap(7);\n                }" if (parenthesized_expression "(puVar28 == (undefined1 *)0x0)" ( (binary_expression "puVar28 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  trap(7);\n                }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (if_statement "if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }" if (parenthesized_expression "(pBVar44->autoVacuum != '\0')" ( (binary_expression "pBVar44->autoVacuum != '\0'" (field_expression "pBVar44->autoVacuum" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);\n                }" { (expression_statement "checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64);" (call_expression "checkPtrmap(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64)" identifier (argument_list "(pCheck_00,PVar39,'\x03',(Pgno)pBStack_64)" ( identifier , identifier , (char_literal "'\x03'" ' escape_sequence ') , (cast_expression "(Pgno)pBStack_64" ( (type_descriptor "Pgno" type_identifier) ) identifier) ))) ;) })) (expression_statement "checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28);" (call_expression "checkList(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28)" identifier (argument_list "(pCheck_00,0,PVar39,(uint)(puVar10 + iVar31) / (uint)puVar28)" ( identifier , number_literal , identifier , (binary_expression "(uint)(puVar10 + iVar31) / (uint)puVar28" (call_expression "(uint)(puVar10 + iVar31)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar10 + iVar31)" ( (binary_expression "puVar10 + iVar31" identifier + identifier) ))) / (cast_expression "(uint)puVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ;) })) (if_statement "if (pMStack_b4->leaf == '\0') {\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }" if (parenthesized_expression "(pMStack_b4->leaf == '\0')" ( (binary_expression "pMStack_b4->leaf == '\0'" (field_expression "pMStack_b4->leaf" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                PVar39 = *pPVar36;\n                if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&pPStack_58;\n                iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);\n                if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n              }" { (expression_statement "PVar39 = *pPVar36;" (assignment_expression "PVar39 = *pPVar36" identifier = (pointer_expression "*pPVar36" * identifier)) ;) (if_statement "if (pBVar44->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }" if (parenthesized_expression "(pBVar44->autoVacuum != '\0')" ( (binary_expression "pBVar44->autoVacuum != '\0'" (field_expression "pBVar44->autoVacuum" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);\n                }" { (expression_statement "checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64);" (call_expression "checkPtrmap(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64)" identifier (argument_list "(pCheck_00,PVar39,'\x05',(Pgno)pBStack_64)" ( identifier , identifier , (char_literal "'\x05'" ' escape_sequence ') , (cast_expression "(Pgno)pBStack_64" ( (type_descriptor "Pgno" type_identifier) ) identifier) ))) ;) })) (expression_statement "pBVar11 = (BtShared *)&pPStack_58;" (assignment_expression "pBVar11 = (BtShared *)&pPStack_58" identifier = (cast_expression "(BtShared *)&pPStack_58" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pPStack_58" & identifier))) ;) (expression_statement "iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39);" (assignment_expression "iVar31 = (*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39)" identifier = (call_expression "(*(code *)(iVar51 + -0x7dd4))(pCheck_00,PVar39)" (parenthesized_expression "(*(code *)(iVar51 + -0x7dd4))" ( (pointer_expression "*(code *)(iVar51 + -0x7dd4)" * (cast_expression "(code *)(iVar51 + -0x7dd4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar51 + -0x7dd4)" ( (binary_expression "iVar51 + -0x7dd4" identifier + number_literal) )))) )) (argument_list "(pCheck_00,PVar39)" ( identifier , identifier )))) ;) (if_statement "if (iVar31 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }" if (parenthesized_expression "(iVar31 == iStack_108)" ( (binary_expression "iVar31 == iStack_108" identifier == identifier) )) (compound_statement "{\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "iStack_108 = iVar31;" (assignment_expression "iStack_108 = iVar31" identifier = identifier) ;) }) (else_clause "else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }" else (compound_statement "{\n                  (*pcVar6)(pCheck_00,iVar40 + -0x4ffc);\n                  bVar2 = false;\n                  iStack_108 = iVar31;\n                }" { (expression_statement "(*pcVar6)(pCheck_00,iVar40 + -0x4ffc);" (call_expression "(*pcVar6)(pCheck_00,iVar40 + -0x4ffc)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(pCheck_00,iVar40 + -0x4ffc)" ( identifier , (binary_expression "iVar40 + -0x4ffc" identifier + number_literal) ))) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "iStack_108 = iVar31;" (assignment_expression "iStack_108 = iVar31" identifier = identifier) ;) }))) }) (else_clause "else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }" else (compound_statement "{\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);\n              }" { (expression_statement "pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);" (assignment_expression "pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1)" identifier = (cast_expression "(BtShared *)((ushort)auStack_b0._18_2_ - 1)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ushort)auStack_b0._18_2_ - 1)" ( (binary_expression "(ushort)auStack_b0._18_2_ - 1" (cast_expression "(ushort)auStack_b0._18_2_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "auStack_b0._18_2_" identifier . field_identifier)) - number_literal) )))) ;) (expression_statement "(*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10);" (call_expression "(*(code *)(iVar46 + 0x1738))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10)" (parenthesized_expression "(*(code *)(iVar46 + 0x1738))" ( (pointer_expression "*(code *)(iVar46 + 0x1738)" * (cast_expression "(code *)(iVar46 + 0x1738)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar46 + 0x1738)" ( (binary_expression "iVar46 + 0x1738" identifier + number_literal) )))) )) (argument_list "(unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10)" ( identifier , (binary_expression "(uint)((int)&pBVar11->pPager + (int)pBVar23) |\n                                    (int)pBVar23 << 0x10" (call_expression "(uint)((int)&pBVar11->pPager + (int)pBVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)&pBVar11->pPager + (int)pBVar23)" ( (binary_expression "(int)&pBVar11->pPager + (int)pBVar23" (cast_expression "(int)&pBVar11->pPager" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar11->pPager" & (field_expression "pBVar11->pPager" identifier -> field_identifier))) + (cast_expression "(int)pBVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ))) | (binary_expression "(int)pBVar23 << 0x10" (cast_expression "(int)pBVar23" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ))) ;) }))) }))) }))) (expression_statement "unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);" (assignment_expression "unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3)" identifier = (cast_expression "(BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s2[-1].pTmpSpace + 3)" ( (binary_expression "(int)&unaff_s2[-1].pTmpSpace + 3" (cast_expression "(int)&unaff_s2[-1].pTmpSpace" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s2[-1].pTmpSpace" & (field_expression "unaff_s2[-1].pTmpSpace" (subscript_expression "unaff_s2[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) }) while (parenthesized_expression "((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0))" ( (binary_expression "(unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar33 = puVar33 + -1, pCheck_00->mxErr != 0)" (parenthesized_expression "(unaff_s2 != (BtShared *)0xffffffff)" ( (binary_expression "unaff_s2 != (BtShared *)0xffffffff" identifier != (cast_expression "(BtShared *)0xffffffff" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar33 = puVar33 + -1, pCheck_00->mxErr != 0)" ( (comma_expression "puVar33 = puVar33 + -1, pCheck_00->mxErr != 0" (assignment_expression "puVar33 = puVar33 + -1" identifier = (binary_expression "puVar33 + -1" identifier + number_literal)) , (binary_expression "pCheck_00->mxErr != 0" (field_expression "pCheck_00->mxErr" identifier -> field_identifier) != number_literal)) ))) )) ;) (expression_statement "iStack_108 = iStack_108 + 1;" (assignment_expression "iStack_108 = iStack_108 + 1" identifier = (binary_expression "iStack_108 + 1" identifier + number_literal)) ;) (expression_statement "((BtShared *)iPage)->db = psStack_54;" (assignment_expression "((BtShared *)iPage)->db = psStack_54" (field_expression "((BtShared *)iPage)->db" (parenthesized_expression "((BtShared *)iPage)" ( (cast_expression "(BtShared *)iPage" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) = identifier) ;) (expression_statement "((BtShared *)iPage)->pPager = pPStack_58;" (assignment_expression "((BtShared *)iPage)->pPager = pPStack_58" (field_expression "((BtShared *)iPage)->pPager" (parenthesized_expression "((BtShared *)iPage)" ( (cast_expression "(BtShared *)iPage" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) = identifier) ;) (expression_statement "pCheck_00->zPfx = (char *)0x0;" (assignment_expression "pCheck_00->zPfx = (char *)0x0" (field_expression "pCheck_00->zPfx" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pBVar23 = pBStack_64;" (assignment_expression "pBVar23 = pBStack_64" identifier = identifier) ;) (expression_statement "pBVar44 = pBVar19;" (assignment_expression "pBVar44 = pBVar19" identifier = identifier) ;) (if_statement "if (bVar3) goto LAB_000a878c;" if (parenthesized_expression "(bVar3)" ( identifier )) (goto_statement "goto LAB_000a878c;" goto statement_identifier ;)) (expression_statement "pMStack_b4->isInit = uVar1;" (assignment_expression "pMStack_b4->isInit = uVar1" (field_expression "pMStack_b4->isInit" identifier -> field_identifier) = identifier) ;) }))) }) (else_clause "else {\n      zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50d4);\nLAB_000a86a4:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }" else (compound_statement "{\n      zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50d4);\nLAB_000a86a4:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }" { (expression_statement "zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50d4);" (assignment_expression "zFormat = (char *)(*(int *)(puVar49 + 0xe8730) + -0x50d4)" identifier = (cast_expression "(char *)(*(int *)(puVar49 + 0xe8730) + -0x50d4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar49 + 0xe8730) + -0x50d4)" ( (binary_expression "*(int *)(puVar49 + 0xe8730) + -0x50d4" (pointer_expression "*(int *)(puVar49 + 0xe8730)" * (cast_expression "(int *)(puVar49 + 0xe8730)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8730)" ( (binary_expression "puVar49 + 0xe8730" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_000a86a4:\n      checkAppendMsg(pCheck_00,zFormat);" statement_identifier : (expression_statement "checkAppendMsg(pCheck_00,zFormat);" (call_expression "checkAppendMsg(pCheck_00,zFormat)" identifier (argument_list "(pCheck_00,zFormat)" ( identifier , identifier ))) ;)) (expression_statement "iStack_108 = 0;" (assignment_expression "iStack_108 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_000a86bc:\n    if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8))(pMStack_b4->pDbPage);\n    }" statement_identifier : (if_statement "if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8))(pMStack_b4->pDbPage);\n    }" if (parenthesized_expression "(pMStack_b4 != (MemPage *)0x0)" ( (binary_expression "pMStack_b4 != (MemPage *)0x0" identifier != (cast_expression "(MemPage *)0x0" ( (type_descriptor "MemPage *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8))(pMStack_b4->pDbPage);\n    }" { (expression_statement "(*(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8))(pMStack_b4->pDbPage);" (call_expression "(*(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8))(pMStack_b4->pDbPage)" (parenthesized_expression "(*(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8))" ( (pointer_expression "*(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8)" * (cast_expression "(code *)(*(int *)(puVar49 + 0xe8914) + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar49 + 0xe8914) + 0xee8)" ( (binary_expression "*(int *)(puVar49 + 0xe8914) + 0xee8" (pointer_expression "*(int *)(puVar49 + 0xe8914)" * (cast_expression "(int *)(puVar49 + 0xe8914)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar49 + 0xe8914)" ( (binary_expression "puVar49 + 0xe8914" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pMStack_b4->pDbPage)" ( (field_expression "pMStack_b4->pDbPage" identifier -> field_identifier) ))) ;) }))) (expression_statement "pCheck_00->zPfx = pcVar9;" (assignment_expression "pCheck_00->zPfx = pcVar9" (field_expression "pCheck_00->zPfx" identifier -> field_identifier) = identifier) ;) (expression_statement "pCheck_00->v1 = iVar17;" (assignment_expression "pCheck_00->v1 = iVar17" (field_expression "pCheck_00->v1" identifier -> field_identifier) = identifier) ;) (expression_statement "pCheck_00->v2 = iVar8;" (assignment_expression "pCheck_00->v2 = iVar8" (field_expression "pCheck_00->v2" identifier -> field_identifier) = identifier) ;) }))) (if_statement "if ((sqlite3 *)auStack_b0._28_4_ == (sqlite3 *)*piVar35) {\n    return;\n  }" if (parenthesized_expression "((sqlite3 *)auStack_b0._28_4_ == (sqlite3 *)*piVar35)" ( (binary_expression "(sqlite3 *)auStack_b0._28_4_ == (sqlite3 *)*piVar35" (cast_expression "(sqlite3 *)auStack_b0._28_4_" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_b0._28_4_" identifier . field_identifier)) == (cast_expression "(sqlite3 *)*piVar35" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar35" * identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar6 = *(code **)(puVar49 + 0xe8bcc);" (assignment_expression "pcVar6 = *(code **)(puVar49 + 0xe8bcc)" identifier = (pointer_expression "*(code **)(puVar49 + 0xe8bcc)" * (cast_expression "(code **)(puVar49 + 0xe8bcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar49 + 0xe8bcc)" ( (binary_expression "puVar49 + 0xe8bcc" identifier + number_literal) ))))) ;) (expression_statement "pcVar7 = rtreenode;" (assignment_expression "pcVar7 = rtreenode" identifier = identifier) ;) (expression_statement "psVar21 = (sqlite3 *)auStack_b0._28_4_;" (assignment_expression "psVar21 = (sqlite3 *)auStack_b0._28_4_" identifier = (cast_expression "(sqlite3 *)auStack_b0._28_4_" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_b0._28_4_" identifier . field_identifier))) ;) (expression_statement "(*pcVar6)();" (call_expression "(*pcVar6)()" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "piVar29 = (int *)&DAT_000001f8;" (assignment_expression "piVar29 = (int *)&DAT_000001f8" identifier = (cast_expression "(int *)&DAT_000001f8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001f8" & identifier))) ;) (expression_statement "piVar47 = *(int **)(pcVar6 + 0xe82ec);" (assignment_expression "piVar47 = *(int **)(pcVar6 + 0xe82ec)" identifier = (pointer_expression "*(int **)(pcVar6 + 0xe82ec)" * (cast_expression "(int **)(pcVar6 + 0xe82ec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xe82ec)" ( (binary_expression "pcVar6 + 0xe82ec" identifier + number_literal) ))))) ;) (expression_statement "uStack_3b0 = 0;" (assignment_expression "uStack_3b0 = 0" identifier = number_literal) ;) (expression_statement "uStack_3ac = 0;" (assignment_expression "uStack_3ac = 0" identifier = number_literal) ;) (expression_statement "uStack_3a8 = 0;" (assignment_expression "uStack_3a8 = 0" identifier = number_literal) ;) (expression_statement "uStack_3a4 = 0;" (assignment_expression "uStack_3a4 = 0" identifier = number_literal) ;) (expression_statement "uStack_3a0 = 0;" (assignment_expression "uStack_3a0 = 0" identifier = number_literal) ;) (expression_statement "uStack_39c = 0;" (assignment_expression "uStack_39c = 0" identifier = number_literal) ;) (expression_statement "iStack_398 = 0;" (assignment_expression "iStack_398 = 0" identifier = number_literal) ;) (expression_statement "uStack_394 = 0;" (assignment_expression "uStack_394 = 0" identifier = number_literal) ;) (expression_statement "iStack_164 = *piVar47;" (assignment_expression "iStack_164 = *piVar47" identifier = (pointer_expression "*piVar47" * identifier)) ;) (expression_statement "piStack_160 = piVar35;" (assignment_expression "piStack_160 = piVar35" identifier = identifier) ;) (expression_statement "pBStack_15c = pBVar23;" (assignment_expression "pBStack_15c = pBVar23" identifier = identifier) ;) (expression_statement "pBStack_158 = unaff_s2;" (assignment_expression "pBStack_158 = unaff_s2" identifier = identifier) ;) (expression_statement "iStack_154 = iStack_108;" (assignment_expression "iStack_154 = iStack_108" identifier = identifier) ;) (expression_statement "pBStack_150 = pBVar44;" (assignment_expression "pBStack_150 = pBVar44" identifier = identifier) ;) (expression_statement "pBStack_14c = (BtShared *)iPage;" (assignment_expression "pBStack_14c = (BtShared *)iPage" identifier = (cast_expression "(BtShared *)iPage" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puStack_148 = (u8 *)isFreeList;" (assignment_expression "puStack_148 = (u8 *)isFreeList" identifier = (cast_expression "(u8 *)isFreeList" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBStack_144 = unaff_s7;" (assignment_expression "pBStack_144 = unaff_s7" identifier = identifier) ;) (expression_statement "pIStack_140 = pCheck_00;" (assignment_expression "pIStack_140 = pCheck_00" identifier = identifier) ;) (expression_statement "pcStack_13c = pcVar7;" (assignment_expression "pcStack_13c = pcVar7" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar6 + 0xe8220))(auStack_360);" (call_expression "(**(code **)(pcVar6 + 0xe8220))(auStack_360)" (parenthesized_expression "(**(code **)(pcVar6 + 0xe8220))" ( (pointer_expression "**(code **)(pcVar6 + 0xe8220)" * (pointer_expression "*(code **)(pcVar6 + 0xe8220)" * (cast_expression "(code **)(pcVar6 + 0xe8220)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xe8220)" ( (binary_expression "pcVar6 + 0xe8220" identifier + number_literal) ))))) )) (argument_list "(auStack_360)" ( identifier ))) ;) (expression_statement "psVar22 = (sqlite3 *)pBVar11->pPager;" (assignment_expression "psVar22 = (sqlite3 *)pBVar11->pPager" identifier = (cast_expression "(sqlite3 *)pBVar11->pPager" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar11->pPager" identifier -> field_identifier))) ;) (expression_statement "(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x7f68))();" (call_expression "(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x7f68))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x7f68))" ( (pointer_expression "*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x7f68)" * (cast_expression "(code *)(*(int *)(pcVar6 + 0xe8070) + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xe8070) + 0x7f68)" ( (binary_expression "*(int *)(pcVar6 + 0xe8070) + 0x7f68" (pointer_expression "*(int *)(pcVar6 + 0xe8070)" * (cast_expression "(int *)(pcVar6 + 0xe8070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe8070)" ( (binary_expression "pcVar6 + 0xe8070" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "cStack_34c = (char)extraout_v1;" (assignment_expression "cStack_34c = (char)extraout_v1" identifier = (cast_expression "(char)extraout_v1" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar6 + 0xe7e84))(pBVar11->db);\n    uVar25 = 1;\n    psVar22 = pBVar11->db;\n    iVar17 = (*(code *)(*(int *)(pcVar6 + 0xe8088) + 0x6c88))();\n    if (3 < iVar17) {\n      uVar25 = (uint)bStack_349;\n      psVar22 = (sqlite3 *)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b) * uVar25) <= iVar17) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar17 = *(int *)(pcVar6 + 0xe7e20);\n          iVar46 = 0;\n          iVar8 = *(int *)(pcVar6 + 0xe806c);\n          pcVar7 = *(code **)(pcVar6 + 0xe80c0);\n          (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar14 = *(int *)(pcVar6 + 0xe7e24);\n          iVar40 = *(int *)(pcVar6 + 0xe7e24);\n          iVar15 = *(int *)(pcVar6 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }\n            iVar46 = iVar46 + 1;\n            (*pcVar7)(p,iVar17 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46) break;\n            (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);\n            (*pcVar7)(p,iVar15 + -0x4854,1);\n          }\n        }\n        if (p == (StrAccum *)0x0) {\n          uVar25 = 7;\n          piVar29 = (int *)0x0;\n        }\n        else {\n          uVar25 = (uint)p->accError;\n          if (p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)) {\n            piVar29 = (int *)0x0;\n          }\n          else {\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }\n        }\n        (*(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0))\n                  (psVar21,&psVar21->nDb,piVar29,0xffffffff,1,*(undefined4 *)(pcVar6 + 0xe7e34));\n        (**(code **)(pcVar6 + 0xe7e9c))();\n        psVar22 = psVar21;\n      }\n    }\n  }" if (parenthesized_expression "((extraout_v1 & 0xff) - 1 < 5)" ( (binary_expression "(extraout_v1 & 0xff) - 1 < 5" (binary_expression "(extraout_v1 & 0xff) - 1" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) - number_literal) < number_literal) )) (compound_statement "{\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar6 + 0xe7e84))(pBVar11->db);\n    uVar25 = 1;\n    psVar22 = pBVar11->db;\n    iVar17 = (*(code *)(*(int *)(pcVar6 + 0xe8088) + 0x6c88))();\n    if (3 < iVar17) {\n      uVar25 = (uint)bStack_349;\n      psVar22 = (sqlite3 *)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b) * uVar25) <= iVar17) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar17 = *(int *)(pcVar6 + 0xe7e20);\n          iVar46 = 0;\n          iVar8 = *(int *)(pcVar6 + 0xe806c);\n          pcVar7 = *(code **)(pcVar6 + 0xe80c0);\n          (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar14 = *(int *)(pcVar6 + 0xe7e24);\n          iVar40 = *(int *)(pcVar6 + 0xe7e24);\n          iVar15 = *(int *)(pcVar6 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }\n            iVar46 = iVar46 + 1;\n            (*pcVar7)(p,iVar17 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46) break;\n            (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);\n            (*pcVar7)(p,iVar15 + -0x4854,1);\n          }\n        }\n        if (p == (StrAccum *)0x0) {\n          uVar25 = 7;\n          piVar29 = (int *)0x0;\n        }\n        else {\n          uVar25 = (uint)p->accError;\n          if (p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)) {\n            piVar29 = (int *)0x0;\n          }\n          else {\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }\n        }\n        (*(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0))\n                  (psVar21,&psVar21->nDb,piVar29,0xffffffff,1,*(undefined4 *)(pcVar6 + 0xe7e34));\n        (**(code **)(pcVar6 + 0xe7e9c))();\n        psVar22 = psVar21;\n      }\n    }\n  }" { (expression_statement "bStack_349 = ((char)extraout_v1 + '\x01') * '\b';" (assignment_expression "bStack_349 = ((char)extraout_v1 + '\x01') * '\b'" identifier = (binary_expression "((char)extraout_v1 + '\x01') * '\b'" (parenthesized_expression "((char)extraout_v1 + '\x01')" ( (binary_expression "(char)extraout_v1 + '\x01'" (cast_expression "(char)extraout_v1" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) )) * (char_literal "'\b'" ' escape_sequence '))) ;) (expression_statement "bStack_34b = (byte)((extraout_v1 & 0xff) << 1);" (assignment_expression "bStack_34b = (byte)((extraout_v1 & 0xff) << 1)" identifier = (call_expression "(byte)((extraout_v1 & 0xff) << 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1 & 0xff) << 1)" ( (binary_expression "(extraout_v1 & 0xff) << 1" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) << number_literal) )))) ;) (expression_statement "iStack_398 = (**(code **)(pcVar6 + 0xe7e84))(pBVar11->db);" (assignment_expression "iStack_398 = (**(code **)(pcVar6 + 0xe7e84))(pBVar11->db)" identifier = (call_expression "(**(code **)(pcVar6 + 0xe7e84))(pBVar11->db)" (parenthesized_expression "(**(code **)(pcVar6 + 0xe7e84))" ( (pointer_expression "**(code **)(pcVar6 + 0xe7e84)" * (pointer_expression "*(code **)(pcVar6 + 0xe7e84)" * (cast_expression "(code **)(pcVar6 + 0xe7e84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xe7e84)" ( (binary_expression "pcVar6 + 0xe7e84" identifier + number_literal) ))))) )) (argument_list "(pBVar11->db)" ( (field_expression "pBVar11->db" identifier -> field_identifier) )))) ;) (expression_statement "uVar25 = 1;" (assignment_expression "uVar25 = 1" identifier = number_literal) ;) (expression_statement "psVar22 = pBVar11->db;" (assignment_expression "psVar22 = pBVar11->db" identifier = (field_expression "pBVar11->db" identifier -> field_identifier)) ;) (expression_statement "iVar17 = (*(code *)(*(int *)(pcVar6 + 0xe8088) + 0x6c88))();" (assignment_expression "iVar17 = (*(code *)(*(int *)(pcVar6 + 0xe8088) + 0x6c88))()" identifier = (call_expression "(*(code *)(*(int *)(pcVar6 + 0xe8088) + 0x6c88))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar6 + 0xe8088) + 0x6c88))" ( (pointer_expression "*(code *)(*(int *)(pcVar6 + 0xe8088) + 0x6c88)" * (cast_expression "(code *)(*(int *)(pcVar6 + 0xe8088) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xe8088) + 0x6c88)" ( (binary_expression "*(int *)(pcVar6 + 0xe8088) + 0x6c88" (pointer_expression "*(int *)(pcVar6 + 0xe8088)" * (cast_expression "(int *)(pcVar6 + 0xe8088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe8088)" ( (binary_expression "pcVar6 + 0xe8088" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (if_statement "if (3 < iVar17) {\n      uVar25 = (uint)bStack_349;\n      psVar22 = (sqlite3 *)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b) * uVar25) <= iVar17) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar17 = *(int *)(pcVar6 + 0xe7e20);\n          iVar46 = 0;\n          iVar8 = *(int *)(pcVar6 + 0xe806c);\n          pcVar7 = *(code **)(pcVar6 + 0xe80c0);\n          (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar14 = *(int *)(pcVar6 + 0xe7e24);\n          iVar40 = *(int *)(pcVar6 + 0xe7e24);\n          iVar15 = *(int *)(pcVar6 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }\n            iVar46 = iVar46 + 1;\n            (*pcVar7)(p,iVar17 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46) break;\n            (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);\n            (*pcVar7)(p,iVar15 + -0x4854,1);\n          }\n        }\n        if (p == (StrAccum *)0x0) {\n          uVar25 = 7;\n          piVar29 = (int *)0x0;\n        }\n        else {\n          uVar25 = (uint)p->accError;\n          if (p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)) {\n            piVar29 = (int *)0x0;\n          }\n          else {\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }\n        }\n        (*(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0))\n                  (psVar21,&psVar21->nDb,piVar29,0xffffffff,1,*(undefined4 *)(pcVar6 + 0xe7e34));\n        (**(code **)(pcVar6 + 0xe7e9c))();\n        psVar22 = psVar21;\n      }\n    }" if (parenthesized_expression "(3 < iVar17)" ( (binary_expression "3 < iVar17" number_literal < identifier) )) (compound_statement "{\n      uVar25 = (uint)bStack_349;\n      psVar22 = (sqlite3 *)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b) * uVar25) <= iVar17) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar17 = *(int *)(pcVar6 + 0xe7e20);\n          iVar46 = 0;\n          iVar8 = *(int *)(pcVar6 + 0xe806c);\n          pcVar7 = *(code **)(pcVar6 + 0xe80c0);\n          (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar14 = *(int *)(pcVar6 + 0xe7e24);\n          iVar40 = *(int *)(pcVar6 + 0xe7e24);\n          iVar15 = *(int *)(pcVar6 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }\n            iVar46 = iVar46 + 1;\n            (*pcVar7)(p,iVar17 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46) break;\n            (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);\n            (*pcVar7)(p,iVar15 + -0x4854,1);\n          }\n        }\n        if (p == (StrAccum *)0x0) {\n          uVar25 = 7;\n          piVar29 = (int *)0x0;\n        }\n        else {\n          uVar25 = (uint)p->accError;\n          if (p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)) {\n            piVar29 = (int *)0x0;\n          }\n          else {\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }\n        }\n        (*(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0))\n                  (psVar21,&psVar21->nDb,piVar29,0xffffffff,1,*(undefined4 *)(pcVar6 + 0xe7e34));\n        (**(code **)(pcVar6 + 0xe7e9c))();\n        psVar22 = psVar21;\n      }\n    }" { (expression_statement "uVar25 = (uint)bStack_349;" (assignment_expression "uVar25 = (uint)bStack_349" identifier = (cast_expression "(uint)bStack_349" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "psVar22 = (sqlite3 *)(uint)*(byte *)(iStack_398 + 3);" (assignment_expression "psVar22 = (sqlite3 *)(uint)*(byte *)(iStack_398 + 3)" identifier = (binary_expression "(sqlite3 *)(uint)*(byte *)(iStack_398 + 3)" (cast_expression "(sqlite3 *)(uint)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(iStack_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 3)" ( (binary_expression "iStack_398 + 3" identifier + number_literal) ))))) ;) (if_statement "if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b) * uVar25) <= iVar17) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar17 = *(int *)(pcVar6 + 0xe7e20);\n          iVar46 = 0;\n          iVar8 = *(int *)(pcVar6 + 0xe806c);\n          pcVar7 = *(code **)(pcVar6 + 0xe80c0);\n          (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar14 = *(int *)(pcVar6 + 0xe7e24);\n          iVar40 = *(int *)(pcVar6 + 0xe7e24);\n          iVar15 = *(int *)(pcVar6 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }\n            iVar46 = iVar46 + 1;\n            (*pcVar7)(p,iVar17 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46) break;\n            (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);\n            (*pcVar7)(p,iVar15 + -0x4854,1);\n          }\n        }\n        if (p == (StrAccum *)0x0) {\n          uVar25 = 7;\n          piVar29 = (int *)0x0;\n        }\n        else {\n          uVar25 = (uint)p->accError;\n          if (p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)) {\n            piVar29 = (int *)0x0;\n          }\n          else {\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }\n        }\n        (*(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0))\n                  (psVar21,&psVar21->nDb,piVar29,0xffffffff,1,*(undefined4 *)(pcVar6 + 0xe7e34));\n        (**(code **)(pcVar6 + 0xe7e9c))();\n        psVar22 = psVar21;\n      }" if (parenthesized_expression "((int)((int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b) * uVar25) <= iVar17)" ( (binary_expression "(int)((int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b) * uVar25) <= iVar17" (cast_expression "(int)((int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b) * uVar25)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b) * uVar25)" ( (binary_expression "(int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b) * uVar25" (cast_expression "(int)(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b)" ( (binary_expression "((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40 + -0x1b" (binary_expression "((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40" (field_expression "((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))->aLimit" (parenthesized_expression "((sqlite3 *)(uint)*(byte *)(iStack_398 + 3))" ( (binary_expression "(sqlite3 *)(uint)*(byte *)(iStack_398 + 3)" (cast_expression "(sqlite3 *)(uint)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(iStack_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 3)" ( (binary_expression "iStack_398 + 3" identifier + number_literal) )))) )) -> field_identifier) + (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x40" (binary_expression "(uint)*(byte *)(iStack_398 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 2)" ( (binary_expression "iStack_398 + 2" identifier + number_literal) )))) * number_literal)) + number_literal) ))) * identifier) ))) <= identifier) )) (compound_statement "{\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar17 = *(int *)(pcVar6 + 0xe7e20);\n          iVar46 = 0;\n          iVar8 = *(int *)(pcVar6 + 0xe806c);\n          pcVar7 = *(code **)(pcVar6 + 0xe80c0);\n          (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar14 = *(int *)(pcVar6 + 0xe7e24);\n          iVar40 = *(int *)(pcVar6 + 0xe7e24);\n          iVar15 = *(int *)(pcVar6 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }\n            iVar46 = iVar46 + 1;\n            (*pcVar7)(p,iVar17 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46) break;\n            (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);\n            (*pcVar7)(p,iVar15 + -0x4854,1);\n          }\n        }\n        if (p == (StrAccum *)0x0) {\n          uVar25 = 7;\n          piVar29 = (int *)0x0;\n        }\n        else {\n          uVar25 = (uint)p->accError;\n          if (p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)) {\n            piVar29 = (int *)0x0;\n          }\n          else {\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }\n        }\n        (*(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0))\n                  (psVar21,&psVar21->nDb,piVar29,0xffffffff,1,*(undefined4 *)(pcVar6 + 0xe7e34));\n        (**(code **)(pcVar6 + 0xe7e9c))();\n        psVar22 = psVar21;\n      }" { (expression_statement "p = (StrAccum *)(**(code **)(pcVar6 + 0xe80f8))(0);" (assignment_expression "p = (StrAccum *)(**(code **)(pcVar6 + 0xe80f8))(0)" identifier = (cast_expression "(StrAccum *)(**(code **)(pcVar6 + 0xe80f8))(0)" ( (type_descriptor "StrAccum *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar6 + 0xe80f8))(0)" (parenthesized_expression "(**(code **)(pcVar6 + 0xe80f8))" ( (pointer_expression "**(code **)(pcVar6 + 0xe80f8)" * (pointer_expression "*(code **)(pcVar6 + 0xe80f8)" * (cast_expression "(code **)(pcVar6 + 0xe80f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xe80f8)" ( (binary_expression "pcVar6 + 0xe80f8" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar17 = *(int *)(pcVar6 + 0xe7e20);\n          iVar46 = 0;\n          iVar8 = *(int *)(pcVar6 + 0xe806c);\n          pcVar7 = *(code **)(pcVar6 + 0xe80c0);\n          (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar14 = *(int *)(pcVar6 + 0xe7e24);\n          iVar40 = *(int *)(pcVar6 + 0xe7e24);\n          iVar15 = *(int *)(pcVar6 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }\n            iVar46 = iVar46 + 1;\n            (*pcVar7)(p,iVar17 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46) break;\n            (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);\n            (*pcVar7)(p,iVar15 + -0x4854,1);\n          }\n        }" if (parenthesized_expression "((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0)" ( (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0" (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)" (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100" (binary_expression "(uint)*(byte *)(iStack_398 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 2)" ( (binary_expression "iStack_398 + 2" identifier + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)(iStack_398 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 3)" ( (binary_expression "iStack_398 + 3" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n          iVar17 = *(int *)(pcVar6 + 0xe7e20);\n          iVar46 = 0;\n          iVar8 = *(int *)(pcVar6 + 0xe806c);\n          pcVar7 = *(code **)(pcVar6 + 0xe80c0);\n          (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar14 = *(int *)(pcVar6 + 0xe7e24);\n          iVar40 = *(int *)(pcVar6 + 0xe7e24);\n          iVar15 = *(int *)(pcVar6 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }\n            iVar46 = iVar46 + 1;\n            (*pcVar7)(p,iVar17 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46) break;\n            (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);\n            (*pcVar7)(p,iVar15 + -0x4854,1);\n          }\n        }" { (expression_statement "iVar17 = *(int *)(pcVar6 + 0xe7e20);" (assignment_expression "iVar17 = *(int *)(pcVar6 + 0xe7e20)" identifier = (pointer_expression "*(int *)(pcVar6 + 0xe7e20)" * (cast_expression "(int *)(pcVar6 + 0xe7e20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7e20)" ( (binary_expression "pcVar6 + 0xe7e20" identifier + number_literal) ))))) ;) (expression_statement "iVar46 = 0;" (assignment_expression "iVar46 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = *(int *)(pcVar6 + 0xe806c);" (assignment_expression "iVar8 = *(int *)(pcVar6 + 0xe806c)" identifier = (pointer_expression "*(int *)(pcVar6 + 0xe806c)" * (cast_expression "(int *)(pcVar6 + 0xe806c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe806c)" ( (binary_expression "pcVar6 + 0xe806c" identifier + number_literal) ))))) ;) (expression_statement "pcVar7 = *(code **)(pcVar6 + 0xe80c0);" (assignment_expression "pcVar7 = *(code **)(pcVar6 + 0xe80c0)" identifier = (pointer_expression "*(code **)(pcVar6 + 0xe80c0)" * (cast_expression "(code **)(pcVar6 + 0xe80c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xe80c0)" ( (binary_expression "pcVar6 + 0xe80c0" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);" (call_expression "(*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390)" (parenthesized_expression "(*(code *)(iVar8 + 0x17dc))" ( (pointer_expression "*(code *)(iVar8 + 0x17dc)" * (cast_expression "(code *)(iVar8 + 0x17dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x17dc)" ( (binary_expression "iVar8 + 0x17dc" identifier + number_literal) )))) )) (argument_list "(auStack_360,&uStack_3b0,0,&uStack_390)" ( identifier , (pointer_expression "&uStack_3b0" & identifier) , number_literal , (pointer_expression "&uStack_390" & identifier) ))) ;) (expression_statement "iVar14 = *(int *)(pcVar6 + 0xe7e24);" (assignment_expression "iVar14 = *(int *)(pcVar6 + 0xe7e24)" identifier = (pointer_expression "*(int *)(pcVar6 + 0xe7e24)" * (cast_expression "(int *)(pcVar6 + 0xe7e24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7e24)" ( (binary_expression "pcVar6 + 0xe7e24" identifier + number_literal) ))))) ;) (expression_statement "iVar40 = *(int *)(pcVar6 + 0xe7e24);" (assignment_expression "iVar40 = *(int *)(pcVar6 + 0xe7e24)" identifier = (pointer_expression "*(int *)(pcVar6 + 0xe7e24)" * (cast_expression "(int *)(pcVar6 + 0xe7e24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7e24)" ( (binary_expression "pcVar6 + 0xe7e24" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(pcVar6 + 0xe7e24);" (assignment_expression "iVar15 = *(int *)(pcVar6 + 0xe7e24)" identifier = (pointer_expression "*(int *)(pcVar6 + 0xe7e24)" * (cast_expression "(int *)(pcVar6 + 0xe7e24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7e24)" ( (binary_expression "pcVar6 + 0xe7e24" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }\n            iVar46 = iVar46 + 1;\n            (*pcVar7)(p,iVar17 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46) break;\n            (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);\n            (*pcVar7)(p,iVar15 + -0x4854,1);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }\n            iVar46 = iVar46 + 1;\n            (*pcVar7)(p,iVar17 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46) break;\n            (*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);\n            (*pcVar7)(p,iVar15 + -0x4854,1);\n          }" { (expression_statement "sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c);" (call_expression "sqlite3_str_appendf(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c)" identifier (argument_list "(p,(char *)(iVar14 + -0x4f84),uStack_390,uStack_38c)" ( identifier , (cast_expression "(char *)(iVar14 + -0x4f84)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + -0x4f84)" ( (binary_expression "iVar14 + -0x4f84" identifier + number_literal) ))) , identifier , identifier ))) ;) (if_statement "if (bStack_34b != 0) {\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }" if (parenthesized_expression "(bStack_34b != 0)" ( (binary_expression "bStack_34b != 0" identifier != number_literal) )) (compound_statement "{\n              pfVar48 = afStack_388;\n              iVar51 = 0;\n              do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);\n            }" { (expression_statement "pfVar48 = afStack_388;" (assignment_expression "pfVar48 = afStack_388" identifier = identifier) ;) (expression_statement "iVar51 = 0;" (assignment_expression "iVar51 = 0" identifier = number_literal) ;) (do_statement "do {\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              } while (iVar51 < (int)(uint)bStack_34b);" do (compound_statement "{\n                fVar52 = *pfVar48;\n                iVar51 = iVar51 + 1;\n                pfVar48 = pfVar48 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );\n              }" { (expression_statement "fVar52 = *pfVar48;" (assignment_expression "fVar52 = *pfVar48" identifier = (pointer_expression "*pfVar48" * identifier)) ;) (expression_statement "iVar51 = iVar51 + 1;" (assignment_expression "iVar51 = iVar51 + 1" identifier = (binary_expression "iVar51 + 1" identifier + number_literal)) ;) (expression_statement "pfVar48 = pfVar48 + 1;" (assignment_expression "pfVar48 = pfVar48 + 1" identifier = (binary_expression "pfVar48 + 1" identifier + number_literal)) ;) (expression_statement "sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   );" (call_expression "sqlite3_str_appendf(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   )" identifier (argument_list "(p,(char *)(iVar40 + -0x4f7c),\n                                    (int)((ulonglong)(double)fVar52 >> 0x20),SUB84((double)fVar52,0)\n                                   )" ( identifier , (cast_expression "(char *)(iVar40 + -0x4f7c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar40 + -0x4f7c)" ( (binary_expression "iVar40 + -0x4f7c" identifier + number_literal) ))) , (cast_expression "(int)((ulonglong)(double)fVar52 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)fVar52 >> 0x20)" ( (binary_expression "(ulonglong)(double)fVar52 >> 0x20" (cast_expression "(ulonglong)(double)fVar52" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)fVar52" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) , (call_expression "SUB84((double)fVar52,0)" identifier (argument_list "((double)fVar52,0)" ( (cast_expression "(double)fVar52" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) ))) ;) }) while (parenthesized_expression "(iVar51 < (int)(uint)bStack_34b)" ( (binary_expression "iVar51 < (int)(uint)bStack_34b" identifier < (cast_expression "(int)(uint)bStack_34b" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)bStack_34b" ( (type_descriptor "uint" type_identifier) ) identifier))) )) ;) })) (expression_statement "iVar46 = iVar46 + 1;" (assignment_expression "iVar46 = iVar46 + 1" identifier = (binary_expression "iVar46 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar7)(p,iVar17 + 0x1300,1);" (call_expression "(*pcVar7)(p,iVar17 + 0x1300,1)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(p,iVar17 + 0x1300,1)" ( identifier , (binary_expression "iVar17 + 0x1300" identifier + number_literal) , number_literal ))) ;) (if_statement "if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46) break;" if (parenthesized_expression "((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46)" ( (binary_expression "(int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar46" (cast_expression "(int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3))" ( (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)" (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100" (binary_expression "(uint)*(byte *)(iStack_398 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 2)" ( (binary_expression "iStack_398 + 2" identifier + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)(iStack_398 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 3)" ( (binary_expression "iStack_398 + 3" identifier + number_literal) ))))) ))) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "(*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390);" (call_expression "(*(code *)(iVar8 + 0x17dc))(auStack_360,&uStack_3b0,iVar46,&uStack_390)" (parenthesized_expression "(*(code *)(iVar8 + 0x17dc))" ( (pointer_expression "*(code *)(iVar8 + 0x17dc)" * (cast_expression "(code *)(iVar8 + 0x17dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x17dc)" ( (binary_expression "iVar8 + 0x17dc" identifier + number_literal) )))) )) (argument_list "(auStack_360,&uStack_3b0,iVar46,&uStack_390)" ( identifier , (pointer_expression "&uStack_3b0" & identifier) , identifier , (pointer_expression "&uStack_390" & identifier) ))) ;) (expression_statement "(*pcVar7)(p,iVar15 + -0x4854,1);" (call_expression "(*pcVar7)(p,iVar15 + -0x4854,1)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(p,iVar15 + -0x4854,1)" ( identifier , (binary_expression "iVar15 + -0x4854" identifier + number_literal) , number_literal ))) ;) })) })) (if_statement "if (p == (StrAccum *)0x0) {\n          uVar25 = 7;\n          piVar29 = (int *)0x0;\n        }\n        else {\n          uVar25 = (uint)p->accError;\n          if (p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)) {\n            piVar29 = (int *)0x0;\n          }\n          else {\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }\n        }" if (parenthesized_expression "(p == (StrAccum *)0x0)" ( (binary_expression "p == (StrAccum *)0x0" identifier == (cast_expression "(StrAccum *)0x0" ( (type_descriptor "StrAccum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar25 = 7;\n          piVar29 = (int *)0x0;\n        }" { (expression_statement "uVar25 = 7;" (assignment_expression "uVar25 = 7" identifier = number_literal) ;) (expression_statement "piVar29 = (int *)0x0;" (assignment_expression "piVar29 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          uVar25 = (uint)p->accError;\n          if (p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)) {\n            piVar29 = (int *)0x0;\n          }\n          else {\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }\n        }" else (compound_statement "{\n          uVar25 = (uint)p->accError;\n          if (p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)) {\n            piVar29 = (int *)0x0;\n          }\n          else {\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }\n        }" { (expression_statement "uVar25 = (uint)p->accError;" (assignment_expression "uVar25 = (uint)p->accError" identifier = (cast_expression "(uint)p->accError" ( (type_descriptor "uint" type_identifier) ) (field_expression "p->accError" identifier -> field_identifier))) ;) (if_statement "if (p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)) {\n            piVar29 = (int *)0x0;\n          }\n          else {\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }" if (parenthesized_expression "(p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98))" ( (binary_expression "p == (StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)" identifier == (cast_expression "(StrAccum *)(*(int *)(pcVar6 + 0xe7e10) + -0xb98)" ( (type_descriptor "StrAccum *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xe7e10) + -0xb98)" ( (binary_expression "*(int *)(pcVar6 + 0xe7e10) + -0xb98" (pointer_expression "*(int *)(pcVar6 + 0xe7e10)" * (cast_expression "(int *)(pcVar6 + 0xe7e10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7e10)" ( (binary_expression "pcVar6 + 0xe7e10" identifier + number_literal) )))) + number_literal) )))) )) (compound_statement "{\n            piVar29 = (int *)0x0;\n          }" { (expression_statement "piVar29 = (int *)0x0;" (assignment_expression "piVar29 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }" else (compound_statement "{\n            piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);\n          }" { (expression_statement "piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p);" (assignment_expression "piVar29 = (int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p)" identifier = (cast_expression "(int *)(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))(p)" (parenthesized_expression "(*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48))" ( (pointer_expression "*(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48)" * (cast_expression "(code *)(*(int *)(pcVar6 + 0xe8070) + 0x1f48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xe8070) + 0x1f48)" ( (binary_expression "*(int *)(pcVar6 + 0xe8070) + 0x1f48" (pointer_expression "*(int *)(pcVar6 + 0xe8070)" * (cast_expression "(int *)(pcVar6 + 0xe8070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe8070)" ( (binary_expression "pcVar6 + 0xe8070" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(p)" ( identifier ))))) ;) }))) }))) (expression_statement "(*(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0))\n                  (psVar21,&psVar21->nDb,piVar29,0xffffffff,1,*(undefined4 *)(pcVar6 + 0xe7e34));" (call_expression "(*(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0))\n                  (psVar21,&psVar21->nDb,piVar29,0xffffffff,1,*(undefined4 *)(pcVar6 + 0xe7e34))" (parenthesized_expression "(*(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0))" ( (pointer_expression "*(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0)" * (cast_expression "(code *)(*(int *)(pcVar6 + 0xe8088) + -0x13c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xe8088) + -0x13c0)" ( (binary_expression "*(int *)(pcVar6 + 0xe8088) + -0x13c0" (pointer_expression "*(int *)(pcVar6 + 0xe8088)" * (cast_expression "(int *)(pcVar6 + 0xe8088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe8088)" ( (binary_expression "pcVar6 + 0xe8088" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(psVar21,&psVar21->nDb,piVar29,0xffffffff,1,*(undefined4 *)(pcVar6 + 0xe7e34))" ( identifier , (pointer_expression "&psVar21->nDb" & (field_expression "psVar21->nDb" identifier -> field_identifier)) , identifier , number_literal , number_literal , (pointer_expression "*(undefined4 *)(pcVar6 + 0xe7e34)" * (cast_expression "(undefined4 *)(pcVar6 + 0xe7e34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7e34)" ( (binary_expression "pcVar6 + 0xe7e34" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(pcVar6 + 0xe7e9c))();" (call_expression "(**(code **)(pcVar6 + 0xe7e9c))()" (parenthesized_expression "(**(code **)(pcVar6 + 0xe7e9c))" ( (pointer_expression "**(code **)(pcVar6 + 0xe7e9c)" * (pointer_expression "*(code **)(pcVar6 + 0xe7e9c)" * (cast_expression "(code **)(pcVar6 + 0xe7e9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xe7e9c)" ( (binary_expression "pcVar6 + 0xe7e9c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "psVar22 = psVar21;" (assignment_expression "psVar22 = psVar21" identifier = identifier) ;) })) })) })) (if_statement "if (iStack_164 == *piVar47) {\n    return;\n  }" if (parenthesized_expression "(iStack_164 == *piVar47)" ( (binary_expression "iStack_164 == *piVar47" identifier == (pointer_expression "*piVar47" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar6 = *(code **)(pcVar6 + 0xe82c0);" (assignment_expression "pcVar6 = *(code **)(pcVar6 + 0xe82c0)" identifier = (pointer_expression "*(code **)(pcVar6 + 0xe82c0)" * (cast_expression "(code **)(pcVar6 + 0xe82c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xe82c0)" ( (binary_expression "pcVar6 + 0xe82c0" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar6)();" (call_expression "(*pcVar6)()" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (*(char *)((*(ushort *)(*piVar29 + 8) & 0x1f) + *(int *)(pcVar6 + 0xe7acc) + 0x6a8c) == '\x05')\n  {\n    return;\n  }" if (parenthesized_expression "(*(char *)((*(ushort *)(*piVar29 + 8) & 0x1f) + *(int *)(pcVar6 + 0xe7acc) + 0x6a8c) == '\x05')" ( (binary_expression "*(char *)((*(ushort *)(*piVar29 + 8) & 0x1f) + *(int *)(pcVar6 + 0xe7acc) + 0x6a8c) == '\x05'" (pointer_expression "*(char *)((*(ushort *)(*piVar29 + 8) & 0x1f) + *(int *)(pcVar6 + 0xe7acc) + 0x6a8c)" * (cast_expression "(char *)((*(ushort *)(*piVar29 + 8) & 0x1f) + *(int *)(pcVar6 + 0xe7acc) + 0x6a8c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(ushort *)(*piVar29 + 8) & 0x1f) + *(int *)(pcVar6 + 0xe7acc) + 0x6a8c)" ( (binary_expression "(*(ushort *)(*piVar29 + 8) & 0x1f) + *(int *)(pcVar6 + 0xe7acc) + 0x6a8c" (binary_expression "(*(ushort *)(*piVar29 + 8) & 0x1f) + *(int *)(pcVar6 + 0xe7acc)" (parenthesized_expression "(*(ushort *)(*piVar29 + 8) & 0x1f)" ( (binary_expression "*(ushort *)(*piVar29 + 8) & 0x1f" (pointer_expression "*(ushort *)(*piVar29 + 8)" * (cast_expression "(ushort *)(*piVar29 + 8)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar29 + 8)" ( (binary_expression "*piVar29 + 8" (pointer_expression "*piVar29" * identifier) + number_literal) )))) & number_literal) )) + (pointer_expression "*(int *)(pcVar6 + 0xe7acc)" * (cast_expression "(int *)(pcVar6 + 0xe7acc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7acc)" ( (binary_expression "pcVar6 + 0xe7acc" identifier + number_literal) ))))) + number_literal) )))) == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pCVar26 = psVar22->pDfltColl;" (assignment_expression "pCVar26 = psVar22->pDfltColl" identifier = (field_expression "psVar22->pDfltColl" identifier -> field_identifier)) ;) (if_statement "if (((uint)pCVar26->pUser & 0x20000000) == 0) {\n    p_Var38 = (_func_void_void_ptr *)\n              (*(code *)(*(int *)(pcVar6 + 0xe7d30) + -0x4168))(&psVar22->pVdbe,pCVar26,0x18);\n  }\n  else {\n    p_Var38 = pCVar26->xDel;\n  }" if (parenthesized_expression "(((uint)pCVar26->pUser & 0x20000000) == 0)" ( (binary_expression "((uint)pCVar26->pUser & 0x20000000) == 0" (parenthesized_expression "((uint)pCVar26->pUser & 0x20000000)" ( (binary_expression "(uint)pCVar26->pUser & 0x20000000" (cast_expression "(uint)pCVar26->pUser" ( (type_descriptor "uint" type_identifier) ) (field_expression "pCVar26->pUser" identifier -> field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n    p_Var38 = (_func_void_void_ptr *)\n              (*(code *)(*(int *)(pcVar6 + 0xe7d30) + -0x4168))(&psVar22->pVdbe,pCVar26,0x18);\n  }" { (expression_statement "p_Var38 = (_func_void_void_ptr *)\n              (*(code *)(*(int *)(pcVar6 + 0xe7d30) + -0x4168))(&psVar22->pVdbe,pCVar26,0x18);" (assignment_expression "p_Var38 = (_func_void_void_ptr *)\n              (*(code *)(*(int *)(pcVar6 + 0xe7d30) + -0x4168))(&psVar22->pVdbe,pCVar26,0x18)" identifier = (cast_expression "(_func_void_void_ptr *)\n              (*(code *)(*(int *)(pcVar6 + 0xe7d30) + -0x4168))(&psVar22->pVdbe,pCVar26,0x18)" ( (type_descriptor "_func_void_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar6 + 0xe7d30) + -0x4168))(&psVar22->pVdbe,pCVar26,0x18)" (parenthesized_expression "(*(code *)(*(int *)(pcVar6 + 0xe7d30) + -0x4168))" ( (pointer_expression "*(code *)(*(int *)(pcVar6 + 0xe7d30) + -0x4168)" * (cast_expression "(code *)(*(int *)(pcVar6 + 0xe7d30) + -0x4168)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xe7d30) + -0x4168)" ( (binary_expression "*(int *)(pcVar6 + 0xe7d30) + -0x4168" (pointer_expression "*(int *)(pcVar6 + 0xe7d30)" * (cast_expression "(int *)(pcVar6 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7d30)" ( (binary_expression "pcVar6 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(&psVar22->pVdbe,pCVar26,0x18)" ( (pointer_expression "&psVar22->pVdbe" & (field_expression "psVar22->pVdbe" identifier -> field_identifier)) , identifier , number_literal ))))) ;) }) (else_clause "else {\n    p_Var38 = pCVar26->xDel;\n  }" else (compound_statement "{\n    p_Var38 = pCVar26->xDel;\n  }" { (expression_statement "p_Var38 = pCVar26->xDel;" (assignment_expression "p_Var38 = pCVar26->xDel" identifier = (field_expression "pCVar26->xDel" identifier -> field_identifier)) ;) }))) (if_statement "if (p_Var38 == (_func_void_void_ptr *)0x0) {\n    return;\n  }" if (parenthesized_expression "(p_Var38 == (_func_void_void_ptr *)0x0)" ( (binary_expression "p_Var38 == (_func_void_void_ptr *)0x0" identifier == (cast_expression "(_func_void_void_ptr *)0x0" ( (type_descriptor "_func_void_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "iVar17 = *(int *)(p_Var38 + 0xc);" (assignment_expression "iVar17 = *(int *)(p_Var38 + 0xc)" identifier = (pointer_expression "*(int *)(p_Var38 + 0xc)" * (cast_expression "(int *)(p_Var38 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var38 + 0xc)" ( (binary_expression "p_Var38 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(p_Var38 + 0xc) = *(undefined4 *)(psVar22->pVfs->xAccess + 0x6c);" (assignment_expression "*(undefined4 *)(p_Var38 + 0xc) = *(undefined4 *)(psVar22->pVfs->xAccess + 0x6c)" (pointer_expression "*(undefined4 *)(p_Var38 + 0xc)" * (cast_expression "(undefined4 *)(p_Var38 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var38 + 0xc)" ( (binary_expression "p_Var38 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(psVar22->pVfs->xAccess + 0x6c)" * (cast_expression "(undefined4 *)(psVar22->pVfs->xAccess + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar22->pVfs->xAccess + 0x6c)" ( (binary_expression "psVar22->pVfs->xAccess + 0x6c" (field_expression "psVar22->pVfs->xAccess" (field_expression "psVar22->pVfs" identifier -> field_identifier) -> field_identifier) + number_literal) ))))) ;) (if_statement "if (iVar17 == 0) {\n    pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n    pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar17 = *piVar29;\n  }\n  else {\n    if (uVar25 == 2) {\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      iVar17 = (*pcVar41)(piVar29[1],1);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      uVar30 = (*pcVar7)(piVar29[1],1);\n      if (iVar17 == 0) goto LAB_000a8f8c;\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }\n    else {\n      uVar30 = 1;\n      iVar17 = *(int *)(pcVar6 + 0xe7ac8) + 0x138c;\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }\n    (*pcVar50)(p_Var38,iVar17,uVar30);\n    iVar17 = *piVar29;\n  }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n    pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n    pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar17 = *piVar29;\n  }" { (expression_statement "pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);" (assignment_expression "pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60)" identifier = (cast_expression "(code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xe7d30) + 0x6f60)" ( (binary_expression "*(int *)(pcVar6 + 0xe7d30) + 0x6f60" (pointer_expression "*(int *)(pcVar6 + 0xe7d30)" * (cast_expression "(int *)(pcVar6 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7d30)" ( (binary_expression "pcVar6 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);" (assignment_expression "pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88)" identifier = (cast_expression "(code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xe7d30) + 0x6c88)" ( (binary_expression "*(int *)(pcVar6 + 0xe7d30) + 0x6c88" (pointer_expression "*(int *)(pcVar6 + 0xe7d30)" * (cast_expression "(int *)(pcVar6 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7d30)" ( (binary_expression "pcVar6 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_000a8f8c:\n    iVar17 = *piVar29;" statement_identifier : (expression_statement "iVar17 = *piVar29;" (assignment_expression "iVar17 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;)) }) (else_clause "else {\n    if (uVar25 == 2) {\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      iVar17 = (*pcVar41)(piVar29[1],1);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      uVar30 = (*pcVar7)(piVar29[1],1);\n      if (iVar17 == 0) goto LAB_000a8f8c;\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }\n    else {\n      uVar30 = 1;\n      iVar17 = *(int *)(pcVar6 + 0xe7ac8) + 0x138c;\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }\n    (*pcVar50)(p_Var38,iVar17,uVar30);\n    iVar17 = *piVar29;\n  }" else (compound_statement "{\n    if (uVar25 == 2) {\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      iVar17 = (*pcVar41)(piVar29[1],1);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      uVar30 = (*pcVar7)(piVar29[1],1);\n      if (iVar17 == 0) goto LAB_000a8f8c;\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }\n    else {\n      uVar30 = 1;\n      iVar17 = *(int *)(pcVar6 + 0xe7ac8) + 0x138c;\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }\n    (*pcVar50)(p_Var38,iVar17,uVar30);\n    iVar17 = *piVar29;\n  }" { (if_statement "if (uVar25 == 2) {\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      iVar17 = (*pcVar41)(piVar29[1],1);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      uVar30 = (*pcVar7)(piVar29[1],1);\n      if (iVar17 == 0) goto LAB_000a8f8c;\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }\n    else {\n      uVar30 = 1;\n      iVar17 = *(int *)(pcVar6 + 0xe7ac8) + 0x138c;\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }" if (parenthesized_expression "(uVar25 == 2)" ( (binary_expression "uVar25 == 2" identifier == number_literal) )) (compound_statement "{\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      iVar17 = (*pcVar41)(piVar29[1],1);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      uVar30 = (*pcVar7)(piVar29[1],1);\n      if (iVar17 == 0) goto LAB_000a8f8c;\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }" { (expression_statement "pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);" (assignment_expression "pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60)" identifier = (cast_expression "(code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xe7d30) + 0x6f60)" ( (binary_expression "*(int *)(pcVar6 + 0xe7d30) + 0x6f60" (pointer_expression "*(int *)(pcVar6 + 0xe7d30)" * (cast_expression "(int *)(pcVar6 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7d30)" ( (binary_expression "pcVar6 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar17 = (*pcVar41)(piVar29[1],1);" (assignment_expression "iVar17 = (*pcVar41)(piVar29[1],1)" identifier = (call_expression "(*pcVar41)(piVar29[1],1)" (parenthesized_expression "(*pcVar41)" ( (pointer_expression "*pcVar41" * identifier) )) (argument_list "(piVar29[1],1)" ( (subscript_expression "piVar29[1]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);" (assignment_expression "pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88)" identifier = (cast_expression "(code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xe7d30) + 0x6c88)" ( (binary_expression "*(int *)(pcVar6 + 0xe7d30) + 0x6c88" (pointer_expression "*(int *)(pcVar6 + 0xe7d30)" * (cast_expression "(int *)(pcVar6 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7d30)" ( (binary_expression "pcVar6 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar30 = (*pcVar7)(piVar29[1],1);" (assignment_expression "uVar30 = (*pcVar7)(piVar29[1],1)" identifier = (call_expression "(*pcVar7)(piVar29[1],1)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(piVar29[1],1)" ( (subscript_expression "piVar29[1]" identifier [ number_literal ]) , number_literal )))) ;) (if_statement "if (iVar17 == 0) goto LAB_000a8f8c;" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000a8f8c;" goto statement_identifier ;)) (expression_statement "pcVar50 = *(code **)(pcVar6 + 0xe7d68);" (assignment_expression "pcVar50 = *(code **)(pcVar6 + 0xe7d68)" identifier = (pointer_expression "*(code **)(pcVar6 + 0xe7d68)" * (cast_expression "(code **)(pcVar6 + 0xe7d68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xe7d68)" ( (binary_expression "pcVar6 + 0xe7d68" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      uVar30 = 1;\n      iVar17 = *(int *)(pcVar6 + 0xe7ac8) + 0x138c;\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }" else (compound_statement "{\n      uVar30 = 1;\n      iVar17 = *(int *)(pcVar6 + 0xe7ac8) + 0x138c;\n      pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);\n      pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);\n      pcVar50 = *(code **)(pcVar6 + 0xe7d68);\n    }" { (expression_statement "uVar30 = 1;" (assignment_expression "uVar30 = 1" identifier = number_literal) ;) (expression_statement "iVar17 = *(int *)(pcVar6 + 0xe7ac8) + 0x138c;" (assignment_expression "iVar17 = *(int *)(pcVar6 + 0xe7ac8) + 0x138c" identifier = (binary_expression "*(int *)(pcVar6 + 0xe7ac8) + 0x138c" (pointer_expression "*(int *)(pcVar6 + 0xe7ac8)" * (cast_expression "(int *)(pcVar6 + 0xe7ac8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7ac8)" ( (binary_expression "pcVar6 + 0xe7ac8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60);" (assignment_expression "pcVar41 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60)" identifier = (cast_expression "(code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xe7d30) + 0x6f60)" ( (binary_expression "*(int *)(pcVar6 + 0xe7d30) + 0x6f60" (pointer_expression "*(int *)(pcVar6 + 0xe7d30)" * (cast_expression "(int *)(pcVar6 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7d30)" ( (binary_expression "pcVar6 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88);" (assignment_expression "pcVar7 = (code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88)" identifier = (cast_expression "(code *)(*(int *)(pcVar6 + 0xe7d30) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar6 + 0xe7d30) + 0x6c88)" ( (binary_expression "*(int *)(pcVar6 + 0xe7d30) + 0x6c88" (pointer_expression "*(int *)(pcVar6 + 0xe7d30)" * (cast_expression "(int *)(pcVar6 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xe7d30)" ( (binary_expression "pcVar6 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar50 = *(code **)(pcVar6 + 0xe7d68);" (assignment_expression "pcVar50 = *(code **)(pcVar6 + 0xe7d68)" identifier = (pointer_expression "*(code **)(pcVar6 + 0xe7d68)" * (cast_expression "(code **)(pcVar6 + 0xe7d68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xe7d68)" ( (binary_expression "pcVar6 + 0xe7d68" identifier + number_literal) ))))) ;) }))) (expression_statement "(*pcVar50)(p_Var38,iVar17,uVar30);" (call_expression "(*pcVar50)(p_Var38,iVar17,uVar30)" (parenthesized_expression "(*pcVar50)" ( (pointer_expression "*pcVar50" * identifier) )) (argument_list "(p_Var38,iVar17,uVar30)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar17 = *piVar29;" (assignment_expression "iVar17 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) }))) (expression_statement "iVar17 = (*pcVar41)(iVar17,1);" (assignment_expression "iVar17 = (*pcVar41)(iVar17,1)" identifier = (call_expression "(*pcVar41)(iVar17,1)" (parenthesized_expression "(*pcVar41)" ( (pointer_expression "*pcVar41" * identifier) )) (argument_list "(iVar17,1)" ( identifier , number_literal )))) ;) (expression_statement "uVar30 = (*pcVar7)(*piVar29,1);" (assignment_expression "uVar30 = (*pcVar7)(*piVar29,1)" identifier = (call_expression "(*pcVar7)(*piVar29,1)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(*piVar29,1)" ( (pointer_expression "*piVar29" * identifier) , number_literal )))) ;) (if_statement "if (iVar17 == 0) {\n    return;\n  }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment comment (expression_statement "(**(code **)(pcVar6 + 0xe7d68))(p_Var38,iVar17,uVar30);" (call_expression "(**(code **)(pcVar6 + 0xe7d68))(p_Var38,iVar17,uVar30)" (parenthesized_expression "(**(code **)(pcVar6 + 0xe7d68))" ( (pointer_expression "**(code **)(pcVar6 + 0xe7d68)" * (pointer_expression "*(code **)(pcVar6 + 0xe7d68)" * (cast_expression "(code **)(pcVar6 + 0xe7d68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xe7d68)" ( (binary_expression "pcVar6 + 0xe7d68" identifier + number_literal) ))))) )) (argument_list "(p_Var38,iVar17,uVar30)" ( identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "code **** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  code *****pppppcVar7;\n  code *******pppppppcVar8;\n  code ****ppppcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code ***pppcVar14;\n  code *****pppppcVar15;\n  code *******pppppppcVar16;\n  code ****ppppcVar17;\n  uint extraout_v1;\n  code ****ppppcVar18;\n  code ******ppppppcVar19;\n  code ******ppppppcVar20;\n  code *******pppppppcVar21;\n  code ****ppppcVar22;\n  uint uVar23;\n  code *******pppppppcVar24;\n  int *piVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code ****ppppcVar28;\n  code ****ppppcVar29;\n  code *******unaff_s0;\n  int *piVar30;\n  undefined *unaff_s1;\n  code *******unaff_s2;\n  int iVar31;\n  code *pcVar32;\n  code *******unaff_s3;\n  code *****pppppcVar33;\n  code ****ppppcVar34;\n  code *******unaff_s4;\n  code *******pppppppcVar35;\n  int iVar36;\n  code *******unaff_s5;\n  int *piVar37;\n  code *****unaff_s7;\n  float *pfVar38;\n  undefined *puVar39;\n  code *pcVar40;\n  int iVar41;\n  undefined4 uVar42;\n  float fVar43;\n  undefined4 uStack_3b0;\n  undefined4 uStack_3ac;\n  undefined4 uStack_3a8;\n  undefined4 uStack_3a4;\n  undefined4 uStack_3a0;\n  undefined4 uStack_39c;\n  int iStack_398;\n  undefined4 uStack_394;\n  undefined4 uStack_390;\n  undefined4 uStack_38c;\n  float afStack_388 [10];\n  undefined1 auStack_360 [20];\n  char cStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  code ****ppppcStack_164;\n  int *piStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  code ****ppppcStack_154;\n  code *******pppppppcStack_150;\n  code *******pppppppcStack_14c;\n  code *******pppppppcStack_148;\n  code *****pppppcStack_144;\n  code ******ppppppcStack_140;\n  undefined4 uStack_13c;\n  code *******pppppppcStack_128;\n  code ******ppppppcStack_124;\n  undefined *puStack_120;\n  code ******ppppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  int iStack_108;\n  int iStack_104;\n  code *pcStack_100;\n  int iStack_fc;\n  code *******pppppppcStack_f8;\n  int iStack_f4;\n  uint uStack_f0;\n  code *******pppppppcStack_ec;\n  code *****pppppcStack_e8;\n  code *pcStack_e4;\n  code *pcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *pcStack_d4;\n  code *pcStack_d0;\n  int iStack_cc;\n  code ****ppppcStack_c8;\n  int iStack_c4;\n  undefined4 uStack_c0;\n  uint uStack_bc;\n  byte *pbStack_b4;\n  code *******pppppppcStack_b0;\n  code ******ppppppcStack_ac;\n  uint uStack_a4;\n  ushort uStack_a0;\n  ushort uStack_9e;\n  code ******ppppppcStack_94;\n  code *******pppppppcStack_90;\n  undefined *puStack_8c;\n  code *******pppppppcStack_88;\n  code *******pppppppcStack_84;\n  code *******pppppppcStack_80;\n  code *******pppppppcStack_7c;\n  code *******pppppppcStack_78;\n  code *****pppppcStack_74;\n  code ******ppppppcStack_70;\n  code *pcStack_6c;\n  code *******pppppppcStack_64;\n  code *******local_58;\n  code ******ppppppcStack_54;\n  code ******local_30;\n  code ****local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  pppppcVar15 = param_1[5];\n  local_2c = *(code *****)PTR___stack_chk_guard_00190e24;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar20 = param_1;\n    pppppppcVar21 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }\nLAB_000a8064:\n  if (local_2c == *(code *****)puVar3) {\n    return *(code *****)puVar3;\n  }\n  pcVar4 = FUN_000a822c;\n  puVar39 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_120 = puVar39 + 0xf06f4;\n  piVar30 = *(int **)(puVar39 + 0xe8bf8);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*piVar30;\n  pppppppcVar8 = param_3;\n  pppppppcVar35 = pppppppcStack_80;\n  pppppppcStack_90 = unaff_s0;\n  puStack_8c = unaff_s1;\n  pppppppcStack_88 = unaff_s2;\n  pppppppcStack_84 = unaff_s3;\n  pppppppcStack_7c = unaff_s5;\n  pppppppcStack_78 = param_2;\n  pppppcStack_74 = unaff_s7;\n  ppppppcStack_70 = param_1;\n  pcStack_6c = pcVar4;\n  if (pppppppcVar21 == (code *******)0x0) {\nLAB_000a8280:\n    ppppcVar34 = (code ****)0x0;\n    ppppppcVar20 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*piVar30) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(puStack_120 + -0x7b28);\n  uVar42 = 0xa8b38;\n  ppppppcVar19 = ppppppcStack_94;\n  (*pcVar4)();\n  uVar23 = 0;\n  piVar25 = (int *)&DAT_000001f8;\n  piVar37 = *(int **)(pcVar4 + 0xe82ec);\n  uStack_3b0 = 0;\n  uStack_3ac = 0;\n  uStack_3a8 = 0;\n  uStack_3a4 = 0;\n  uStack_3a0 = 0;\n  uStack_39c = 0;\n  iStack_398 = 0;\n  uStack_394 = 0;\n  ppppcStack_164 = (code ****)*piVar37;\n  piStack_160 = piVar30;\n  pppppppcStack_15c = pppppppcVar21;\n  pppppppcStack_158 = unaff_s2;\n  ppppcStack_154 = ppppcVar34;\n  pppppppcStack_150 = pppppppcVar35;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar20;\n  uStack_13c = uVar42;\n  (**(code **)(pcVar4 + 0xe8220))(auStack_360);\n  ppppppcVar20 = *pppppppcVar8;\n  (*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))();\n  cStack_34c = (char)extraout_v1;\n  if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);\n    uVar23 = 1;\n    ppppppcVar20 = pppppppcVar8[1];\n    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();\n    if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }\n  }\n  ppppcVar34 = (code ****)*piVar37;\n  if (ppppcStack_164 == ppppcVar34) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(pcVar4 + 0xe82c0);\n  (*pcVar4)();\n  if (*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5) {\n    return (code ****)0x5;\n  }\n  pppppcVar15 = ppppppcVar20[2];\n  ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000);\n  if ((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0) {\n    ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);\n    ppppcVar28 = ppppcVar34;\n  }\n  else {\n    ppppcVar28 = pppppcVar15[4];\n  }\n  if (ppppcVar28 == (code ****)0x0) {\n    return ppppcVar34;\n  }\n  pppcVar14 = ppppcVar28[3];\n  ppppcVar28[3] = (*ppppppcVar20)[8][0x1b];\n  if (pppcVar14 == (code ***)0x0) {\n    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar6 = *piVar25;\n  }\n  else {\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }\n  iVar6 = (*pcVar32)(iVar6,1);\n  ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1);\n  if (iVar6 == 0) {\n    return ppppcVar34;\n  }\n                    \n                    \n  ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34);\n  return ppppcVar34;\n}\n\n" (function_definition "code **** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  code *****pppppcVar7;\n  code *******pppppppcVar8;\n  code ****ppppcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code ***pppcVar14;\n  code *****pppppcVar15;\n  code *******pppppppcVar16;\n  code ****ppppcVar17;\n  uint extraout_v1;\n  code ****ppppcVar18;\n  code ******ppppppcVar19;\n  code ******ppppppcVar20;\n  code *******pppppppcVar21;\n  code ****ppppcVar22;\n  uint uVar23;\n  code *******pppppppcVar24;\n  int *piVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code ****ppppcVar28;\n  code ****ppppcVar29;\n  code *******unaff_s0;\n  int *piVar30;\n  undefined *unaff_s1;\n  code *******unaff_s2;\n  int iVar31;\n  code *pcVar32;\n  code *******unaff_s3;\n  code *****pppppcVar33;\n  code ****ppppcVar34;\n  code *******unaff_s4;\n  code *******pppppppcVar35;\n  int iVar36;\n  code *******unaff_s5;\n  int *piVar37;\n  code *****unaff_s7;\n  float *pfVar38;\n  undefined *puVar39;\n  code *pcVar40;\n  int iVar41;\n  undefined4 uVar42;\n  float fVar43;\n  undefined4 uStack_3b0;\n  undefined4 uStack_3ac;\n  undefined4 uStack_3a8;\n  undefined4 uStack_3a4;\n  undefined4 uStack_3a0;\n  undefined4 uStack_39c;\n  int iStack_398;\n  undefined4 uStack_394;\n  undefined4 uStack_390;\n  undefined4 uStack_38c;\n  float afStack_388 [10];\n  undefined1 auStack_360 [20];\n  char cStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  code ****ppppcStack_164;\n  int *piStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  code ****ppppcStack_154;\n  code *******pppppppcStack_150;\n  code *******pppppppcStack_14c;\n  code *******pppppppcStack_148;\n  code *****pppppcStack_144;\n  code ******ppppppcStack_140;\n  undefined4 uStack_13c;\n  code *******pppppppcStack_128;\n  code ******ppppppcStack_124;\n  undefined *puStack_120;\n  code ******ppppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  int iStack_108;\n  int iStack_104;\n  code *pcStack_100;\n  int iStack_fc;\n  code *******pppppppcStack_f8;\n  int iStack_f4;\n  uint uStack_f0;\n  code *******pppppppcStack_ec;\n  code *****pppppcStack_e8;\n  code *pcStack_e4;\n  code *pcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *pcStack_d4;\n  code *pcStack_d0;\n  int iStack_cc;\n  code ****ppppcStack_c8;\n  int iStack_c4;\n  undefined4 uStack_c0;\n  uint uStack_bc;\n  byte *pbStack_b4;\n  code *******pppppppcStack_b0;\n  code ******ppppppcStack_ac;\n  uint uStack_a4;\n  ushort uStack_a0;\n  ushort uStack_9e;\n  code ******ppppppcStack_94;\n  code *******pppppppcStack_90;\n  undefined *puStack_8c;\n  code *******pppppppcStack_88;\n  code *******pppppppcStack_84;\n  code *******pppppppcStack_80;\n  code *******pppppppcStack_7c;\n  code *******pppppppcStack_78;\n  code *****pppppcStack_74;\n  code ******ppppppcStack_70;\n  code *pcStack_6c;\n  code *******pppppppcStack_64;\n  code *******local_58;\n  code ******ppppppcStack_54;\n  code ******local_30;\n  code ****local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  pppppcVar15 = param_1[5];\n  local_2c = *(code *****)PTR___stack_chk_guard_00190e24;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar20 = param_1;\n    pppppppcVar21 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }\nLAB_000a8064:\n  if (local_2c == *(code *****)puVar3) {\n    return *(code *****)puVar3;\n  }\n  pcVar4 = FUN_000a822c;\n  puVar39 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_120 = puVar39 + 0xf06f4;\n  piVar30 = *(int **)(puVar39 + 0xe8bf8);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*piVar30;\n  pppppppcVar8 = param_3;\n  pppppppcVar35 = pppppppcStack_80;\n  pppppppcStack_90 = unaff_s0;\n  puStack_8c = unaff_s1;\n  pppppppcStack_88 = unaff_s2;\n  pppppppcStack_84 = unaff_s3;\n  pppppppcStack_7c = unaff_s5;\n  pppppppcStack_78 = param_2;\n  pppppcStack_74 = unaff_s7;\n  ppppppcStack_70 = param_1;\n  pcStack_6c = pcVar4;\n  if (pppppppcVar21 == (code *******)0x0) {\nLAB_000a8280:\n    ppppcVar34 = (code ****)0x0;\n    ppppppcVar20 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*piVar30) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(puStack_120 + -0x7b28);\n  uVar42 = 0xa8b38;\n  ppppppcVar19 = ppppppcStack_94;\n  (*pcVar4)();\n  uVar23 = 0;\n  piVar25 = (int *)&DAT_000001f8;\n  piVar37 = *(int **)(pcVar4 + 0xe82ec);\n  uStack_3b0 = 0;\n  uStack_3ac = 0;\n  uStack_3a8 = 0;\n  uStack_3a4 = 0;\n  uStack_3a0 = 0;\n  uStack_39c = 0;\n  iStack_398 = 0;\n  uStack_394 = 0;\n  ppppcStack_164 = (code ****)*piVar37;\n  piStack_160 = piVar30;\n  pppppppcStack_15c = pppppppcVar21;\n  pppppppcStack_158 = unaff_s2;\n  ppppcStack_154 = ppppcVar34;\n  pppppppcStack_150 = pppppppcVar35;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar20;\n  uStack_13c = uVar42;\n  (**(code **)(pcVar4 + 0xe8220))(auStack_360);\n  ppppppcVar20 = *pppppppcVar8;\n  (*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))();\n  cStack_34c = (char)extraout_v1;\n  if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);\n    uVar23 = 1;\n    ppppppcVar20 = pppppppcVar8[1];\n    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();\n    if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }\n  }\n  ppppcVar34 = (code ****)*piVar37;\n  if (ppppcStack_164 == ppppcVar34) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(pcVar4 + 0xe82c0);\n  (*pcVar4)();\n  if (*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5) {\n    return (code ****)0x5;\n  }\n  pppppcVar15 = ppppppcVar20[2];\n  ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000);\n  if ((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0) {\n    ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);\n    ppppcVar28 = ppppcVar34;\n  }\n  else {\n    ppppcVar28 = pppppcVar15[4];\n  }\n  if (ppppcVar28 == (code ****)0x0) {\n    return ppppcVar34;\n  }\n  pppcVar14 = ppppcVar28[3];\n  ppppcVar28[3] = (*ppppppcVar20)[8][0x1b];\n  if (pppcVar14 == (code ***)0x0) {\n    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar6 = *piVar25;\n  }\n  else {\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }\n  iVar6 = (*pcVar32)(iVar6,1);\n  ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1);\n  if (iVar6 == 0) {\n    return ppppcVar34;\n  }\n                    \n                    \n  ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34);\n  return ppppcVar34;\n}" type_identifier (pointer_declarator "**** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" * (pointer_declarator "*** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" * (pointer_declarator "** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" * (pointer_declarator "* FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" * (function_declarator "FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" identifier (parameter_list "(code ******param_1,code *******param_2,code *******param_3,\n                      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" * 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 "code *******param_3" type_identifier (pointer_declarator "*******param_3" * (pointer_declarator "******param_3" * (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier)))))))) , (parameter_declaration "code *******param_4" type_identifier (pointer_declarator "*******param_4" * (pointer_declarator "******param_4" * (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier)))))))) ))))))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  code *****pppppcVar7;\n  code *******pppppppcVar8;\n  code ****ppppcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code ***pppcVar14;\n  code *****pppppcVar15;\n  code *******pppppppcVar16;\n  code ****ppppcVar17;\n  uint extraout_v1;\n  code ****ppppcVar18;\n  code ******ppppppcVar19;\n  code ******ppppppcVar20;\n  code *******pppppppcVar21;\n  code ****ppppcVar22;\n  uint uVar23;\n  code *******pppppppcVar24;\n  int *piVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code ****ppppcVar28;\n  code ****ppppcVar29;\n  code *******unaff_s0;\n  int *piVar30;\n  undefined *unaff_s1;\n  code *******unaff_s2;\n  int iVar31;\n  code *pcVar32;\n  code *******unaff_s3;\n  code *****pppppcVar33;\n  code ****ppppcVar34;\n  code *******unaff_s4;\n  code *******pppppppcVar35;\n  int iVar36;\n  code *******unaff_s5;\n  int *piVar37;\n  code *****unaff_s7;\n  float *pfVar38;\n  undefined *puVar39;\n  code *pcVar40;\n  int iVar41;\n  undefined4 uVar42;\n  float fVar43;\n  undefined4 uStack_3b0;\n  undefined4 uStack_3ac;\n  undefined4 uStack_3a8;\n  undefined4 uStack_3a4;\n  undefined4 uStack_3a0;\n  undefined4 uStack_39c;\n  int iStack_398;\n  undefined4 uStack_394;\n  undefined4 uStack_390;\n  undefined4 uStack_38c;\n  float afStack_388 [10];\n  undefined1 auStack_360 [20];\n  char cStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  code ****ppppcStack_164;\n  int *piStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  code ****ppppcStack_154;\n  code *******pppppppcStack_150;\n  code *******pppppppcStack_14c;\n  code *******pppppppcStack_148;\n  code *****pppppcStack_144;\n  code ******ppppppcStack_140;\n  undefined4 uStack_13c;\n  code *******pppppppcStack_128;\n  code ******ppppppcStack_124;\n  undefined *puStack_120;\n  code ******ppppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  int iStack_108;\n  int iStack_104;\n  code *pcStack_100;\n  int iStack_fc;\n  code *******pppppppcStack_f8;\n  int iStack_f4;\n  uint uStack_f0;\n  code *******pppppppcStack_ec;\n  code *****pppppcStack_e8;\n  code *pcStack_e4;\n  code *pcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *pcStack_d4;\n  code *pcStack_d0;\n  int iStack_cc;\n  code ****ppppcStack_c8;\n  int iStack_c4;\n  undefined4 uStack_c0;\n  uint uStack_bc;\n  byte *pbStack_b4;\n  code *******pppppppcStack_b0;\n  code ******ppppppcStack_ac;\n  uint uStack_a4;\n  ushort uStack_a0;\n  ushort uStack_9e;\n  code ******ppppppcStack_94;\n  code *******pppppppcStack_90;\n  undefined *puStack_8c;\n  code *******pppppppcStack_88;\n  code *******pppppppcStack_84;\n  code *******pppppppcStack_80;\n  code *******pppppppcStack_7c;\n  code *******pppppppcStack_78;\n  code *****pppppcStack_74;\n  code ******ppppppcStack_70;\n  code *pcStack_6c;\n  code *******pppppppcStack_64;\n  code *******local_58;\n  code ******ppppppcStack_54;\n  code ******local_30;\n  code ****local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  pppppcVar15 = param_1[5];\n  local_2c = *(code *****)PTR___stack_chk_guard_00190e24;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar20 = param_1;\n    pppppppcVar21 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }\nLAB_000a8064:\n  if (local_2c == *(code *****)puVar3) {\n    return *(code *****)puVar3;\n  }\n  pcVar4 = FUN_000a822c;\n  puVar39 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_120 = puVar39 + 0xf06f4;\n  piVar30 = *(int **)(puVar39 + 0xe8bf8);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*piVar30;\n  pppppppcVar8 = param_3;\n  pppppppcVar35 = pppppppcStack_80;\n  pppppppcStack_90 = unaff_s0;\n  puStack_8c = unaff_s1;\n  pppppppcStack_88 = unaff_s2;\n  pppppppcStack_84 = unaff_s3;\n  pppppppcStack_7c = unaff_s5;\n  pppppppcStack_78 = param_2;\n  pppppcStack_74 = unaff_s7;\n  ppppppcStack_70 = param_1;\n  pcStack_6c = pcVar4;\n  if (pppppppcVar21 == (code *******)0x0) {\nLAB_000a8280:\n    ppppcVar34 = (code ****)0x0;\n    ppppppcVar20 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*piVar30) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(puStack_120 + -0x7b28);\n  uVar42 = 0xa8b38;\n  ppppppcVar19 = ppppppcStack_94;\n  (*pcVar4)();\n  uVar23 = 0;\n  piVar25 = (int *)&DAT_000001f8;\n  piVar37 = *(int **)(pcVar4 + 0xe82ec);\n  uStack_3b0 = 0;\n  uStack_3ac = 0;\n  uStack_3a8 = 0;\n  uStack_3a4 = 0;\n  uStack_3a0 = 0;\n  uStack_39c = 0;\n  iStack_398 = 0;\n  uStack_394 = 0;\n  ppppcStack_164 = (code ****)*piVar37;\n  piStack_160 = piVar30;\n  pppppppcStack_15c = pppppppcVar21;\n  pppppppcStack_158 = unaff_s2;\n  ppppcStack_154 = ppppcVar34;\n  pppppppcStack_150 = pppppppcVar35;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar20;\n  uStack_13c = uVar42;\n  (**(code **)(pcVar4 + 0xe8220))(auStack_360);\n  ppppppcVar20 = *pppppppcVar8;\n  (*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))();\n  cStack_34c = (char)extraout_v1;\n  if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);\n    uVar23 = 1;\n    ppppppcVar20 = pppppppcVar8[1];\n    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();\n    if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }\n  }\n  ppppcVar34 = (code ****)*piVar37;\n  if (ppppcStack_164 == ppppcVar34) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(pcVar4 + 0xe82c0);\n  (*pcVar4)();\n  if (*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5) {\n    return (code ****)0x5;\n  }\n  pppppcVar15 = ppppppcVar20[2];\n  ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000);\n  if ((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0) {\n    ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);\n    ppppcVar28 = ppppcVar34;\n  }\n  else {\n    ppppcVar28 = pppppcVar15[4];\n  }\n  if (ppppcVar28 == (code ****)0x0) {\n    return ppppcVar34;\n  }\n  pppcVar14 = ppppcVar28[3];\n  ppppcVar28[3] = (*ppppppcVar20)[8][0x1b];\n  if (pppcVar14 == (code ***)0x0) {\n    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar6 = *piVar25;\n  }\n  else {\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }\n  iVar6 = (*pcVar32)(iVar6,1);\n  ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1);\n  if (iVar6 == 0) {\n    return ppppcVar34;\n  }\n                    \n                    \n  ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34);\n  return ppppcVar34;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "code *****pppppcVar7;" type_identifier (pointer_declarator "*****pppppcVar7" * (pointer_declarator "****pppppcVar7" * (pointer_declarator "***pppppcVar7" * (pointer_declarator "**pppppcVar7" * (pointer_declarator "*pppppcVar7" * 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 "code ****ppppcVar9;" type_identifier (pointer_declarator "****ppppcVar9" * (pointer_declarator "***ppppcVar9" * (pointer_declarator "**ppppcVar9" * (pointer_declarator "*ppppcVar9" * identifier)))) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "code ***pppcVar14;" type_identifier (pointer_declarator "***pppcVar14" * (pointer_declarator "**pppcVar14" * (pointer_declarator "*pppcVar14" * identifier))) ;) (declaration "code *****pppppcVar15;" type_identifier (pointer_declarator "*****pppppcVar15" * (pointer_declarator "****pppppcVar15" * (pointer_declarator "***pppppcVar15" * (pointer_declarator "**pppppcVar15" * (pointer_declarator "*pppppcVar15" * identifier))))) ;) (declaration "code *******pppppppcVar16;" type_identifier (pointer_declarator "*******pppppppcVar16" * (pointer_declarator "******pppppppcVar16" * (pointer_declarator "*****pppppppcVar16" * (pointer_declarator "****pppppppcVar16" * (pointer_declarator "***pppppppcVar16" * (pointer_declarator "**pppppppcVar16" * (pointer_declarator "*pppppppcVar16" * identifier))))))) ;) (declaration "code ****ppppcVar17;" type_identifier (pointer_declarator "****ppppcVar17" * (pointer_declarator "***ppppcVar17" * (pointer_declarator "**ppppcVar17" * (pointer_declarator "*ppppcVar17" * identifier)))) ;) (declaration "uint extraout_v1;" type_identifier identifier ;) (declaration "code ****ppppcVar18;" type_identifier (pointer_declarator "****ppppcVar18" * (pointer_declarator "***ppppcVar18" * (pointer_declarator "**ppppcVar18" * (pointer_declarator "*ppppcVar18" * identifier)))) ;) (declaration "code ******ppppppcVar19;" type_identifier (pointer_declarator "******ppppppcVar19" * (pointer_declarator "*****ppppppcVar19" * (pointer_declarator "****ppppppcVar19" * (pointer_declarator "***ppppppcVar19" * (pointer_declarator "**ppppppcVar19" * (pointer_declarator "*ppppppcVar19" * identifier)))))) ;) (declaration "code ******ppppppcVar20;" type_identifier (pointer_declarator "******ppppppcVar20" * (pointer_declarator "*****ppppppcVar20" * (pointer_declarator "****ppppppcVar20" * (pointer_declarator "***ppppppcVar20" * (pointer_declarator "**ppppppcVar20" * (pointer_declarator "*ppppppcVar20" * identifier)))))) ;) (declaration "code *******pppppppcVar21;" type_identifier (pointer_declarator "*******pppppppcVar21" * (pointer_declarator "******pppppppcVar21" * (pointer_declarator "*****pppppppcVar21" * (pointer_declarator "****pppppppcVar21" * (pointer_declarator "***pppppppcVar21" * (pointer_declarator "**pppppppcVar21" * (pointer_declarator "*pppppppcVar21" * identifier))))))) ;) (declaration "code ****ppppcVar22;" type_identifier (pointer_declarator "****ppppcVar22" * (pointer_declarator "***ppppcVar22" * (pointer_declarator "**ppppcVar22" * (pointer_declarator "*ppppcVar22" * identifier)))) ;) (declaration "uint uVar23;" type_identifier 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 "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "code ****ppppcVar26;" type_identifier (pointer_declarator "****ppppcVar26" * (pointer_declarator "***ppppcVar26" * (pointer_declarator "**ppppcVar26" * (pointer_declarator "*ppppcVar26" * identifier)))) ;) (declaration "code ****ppppcVar27;" type_identifier (pointer_declarator "****ppppcVar27" * (pointer_declarator "***ppppcVar27" * (pointer_declarator "**ppppcVar27" * (pointer_declarator "*ppppcVar27" * identifier)))) ;) (declaration "code ****ppppcVar28;" type_identifier (pointer_declarator "****ppppcVar28" * (pointer_declarator "***ppppcVar28" * (pointer_declarator "**ppppcVar28" * (pointer_declarator "*ppppcVar28" * identifier)))) ;) (declaration "code ****ppppcVar29;" type_identifier (pointer_declarator "****ppppcVar29" * (pointer_declarator "***ppppcVar29" * (pointer_declarator "**ppppcVar29" * (pointer_declarator "*ppppcVar29" * identifier)))) ;) (declaration "code *******unaff_s0;" type_identifier (pointer_declarator "*******unaff_s0" * (pointer_declarator "******unaff_s0" * (pointer_declarator "*****unaff_s0" * (pointer_declarator "****unaff_s0" * (pointer_declarator "***unaff_s0" * (pointer_declarator "**unaff_s0" * (pointer_declarator "*unaff_s0" * identifier))))))) ;) (declaration "int *piVar30;" primitive_type (pointer_declarator "*piVar30" * identifier) ;) (declaration "undefined *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "code *******unaff_s2;" type_identifier (pointer_declarator "*******unaff_s2" * (pointer_declarator "******unaff_s2" * (pointer_declarator "*****unaff_s2" * (pointer_declarator "****unaff_s2" * (pointer_declarator "***unaff_s2" * (pointer_declarator "**unaff_s2" * (pointer_declarator "*unaff_s2" * identifier))))))) ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "code *pcVar32;" type_identifier (pointer_declarator "*pcVar32" * identifier) ;) (declaration "code *******unaff_s3;" type_identifier (pointer_declarator "*******unaff_s3" * (pointer_declarator "******unaff_s3" * (pointer_declarator "*****unaff_s3" * (pointer_declarator "****unaff_s3" * (pointer_declarator "***unaff_s3" * (pointer_declarator "**unaff_s3" * (pointer_declarator "*unaff_s3" * identifier))))))) ;) (declaration "code *****pppppcVar33;" type_identifier (pointer_declarator "*****pppppcVar33" * (pointer_declarator "****pppppcVar33" * (pointer_declarator "***pppppcVar33" * (pointer_declarator "**pppppcVar33" * (pointer_declarator "*pppppcVar33" * identifier))))) ;) (declaration "code ****ppppcVar34;" type_identifier (pointer_declarator "****ppppcVar34" * (pointer_declarator "***ppppcVar34" * (pointer_declarator "**ppppcVar34" * (pointer_declarator "*ppppcVar34" * 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 "code *******pppppppcVar35;" type_identifier (pointer_declarator "*******pppppppcVar35" * (pointer_declarator "******pppppppcVar35" * (pointer_declarator "*****pppppppcVar35" * (pointer_declarator "****pppppppcVar35" * (pointer_declarator "***pppppppcVar35" * (pointer_declarator "**pppppppcVar35" * (pointer_declarator "*pppppppcVar35" * identifier))))))) ;) (declaration "int iVar36;" 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" * (pointer_declarator "*unaff_s5" * identifier))))))) ;) (declaration "int *piVar37;" primitive_type (pointer_declarator "*piVar37" * 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" * identifier))))) ;) (declaration "float *pfVar38;" primitive_type (pointer_declarator "*pfVar38" * identifier) ;) (declaration "undefined *puVar39;" type_identifier (pointer_declarator "*puVar39" * identifier) ;) (declaration "code *pcVar40;" type_identifier (pointer_declarator "*pcVar40" * identifier) ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "undefined4 uVar42;" type_identifier identifier ;) (declaration "float fVar43;" primitive_type identifier ;) (declaration "undefined4 uStack_3b0;" type_identifier identifier ;) (declaration "undefined4 uStack_3ac;" type_identifier identifier ;) (declaration "undefined4 uStack_3a8;" type_identifier identifier ;) (declaration "undefined4 uStack_3a4;" type_identifier identifier ;) (declaration "undefined4 uStack_3a0;" type_identifier identifier ;) (declaration "undefined4 uStack_39c;" type_identifier identifier ;) (declaration "int iStack_398;" primitive_type identifier ;) (declaration "undefined4 uStack_394;" type_identifier identifier ;) (declaration "undefined4 uStack_390;" type_identifier identifier ;) (declaration "undefined4 uStack_38c;" type_identifier identifier ;) (declaration "float afStack_388 [10];" primitive_type (array_declarator "afStack_388 [10]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_360 [20];" type_identifier (array_declarator "auStack_360 [20]" identifier [ number_literal ]) ;) (declaration "char cStack_34c;" primitive_type identifier ;) (declaration "byte bStack_34b;" type_identifier identifier ;) (declaration "byte bStack_349;" type_identifier identifier ;) (declaration "code ****ppppcStack_164;" type_identifier (pointer_declarator "****ppppcStack_164" * (pointer_declarator "***ppppcStack_164" * (pointer_declarator "**ppppcStack_164" * (pointer_declarator "*ppppcStack_164" * identifier)))) ;) (declaration "int *piStack_160;" primitive_type (pointer_declarator "*piStack_160" * identifier) ;) (declaration "code *******pppppppcStack_15c;" type_identifier (pointer_declarator "*******pppppppcStack_15c" * (pointer_declarator "******pppppppcStack_15c" * (pointer_declarator "*****pppppppcStack_15c" * (pointer_declarator "****pppppppcStack_15c" * (pointer_declarator "***pppppppcStack_15c" * (pointer_declarator "**pppppppcStack_15c" * (pointer_declarator "*pppppppcStack_15c" * identifier))))))) ;) (declaration "code *******pppppppcStack_158;" type_identifier (pointer_declarator "*******pppppppcStack_158" * (pointer_declarator "******pppppppcStack_158" * (pointer_declarator "*****pppppppcStack_158" * (pointer_declarator "****pppppppcStack_158" * (pointer_declarator "***pppppppcStack_158" * (pointer_declarator "**pppppppcStack_158" * (pointer_declarator "*pppppppcStack_158" * identifier))))))) ;) (declaration "code ****ppppcStack_154;" type_identifier (pointer_declarator "****ppppcStack_154" * (pointer_declarator "***ppppcStack_154" * (pointer_declarator "**ppppcStack_154" * (pointer_declarator "*ppppcStack_154" * identifier)))) ;) (declaration "code *******pppppppcStack_150;" type_identifier (pointer_declarator "*******pppppppcStack_150" * (pointer_declarator "******pppppppcStack_150" * (pointer_declarator "*****pppppppcStack_150" * (pointer_declarator "****pppppppcStack_150" * (pointer_declarator "***pppppppcStack_150" * (pointer_declarator "**pppppppcStack_150" * (pointer_declarator "*pppppppcStack_150" * identifier))))))) ;) (declaration "code *******pppppppcStack_14c;" type_identifier (pointer_declarator "*******pppppppcStack_14c" * (pointer_declarator "******pppppppcStack_14c" * (pointer_declarator "*****pppppppcStack_14c" * (pointer_declarator "****pppppppcStack_14c" * (pointer_declarator "***pppppppcStack_14c" * (pointer_declarator "**pppppppcStack_14c" * (pointer_declarator "*pppppppcStack_14c" * identifier))))))) ;) (declaration "code *******pppppppcStack_148;" type_identifier (pointer_declarator "*******pppppppcStack_148" * (pointer_declarator "******pppppppcStack_148" * (pointer_declarator "*****pppppppcStack_148" * (pointer_declarator "****pppppppcStack_148" * (pointer_declarator "***pppppppcStack_148" * (pointer_declarator "**pppppppcStack_148" * (pointer_declarator "*pppppppcStack_148" * identifier))))))) ;) (declaration "code *****pppppcStack_144;" type_identifier (pointer_declarator "*****pppppcStack_144" * (pointer_declarator "****pppppcStack_144" * (pointer_declarator "***pppppcStack_144" * (pointer_declarator "**pppppcStack_144" * (pointer_declarator "*pppppcStack_144" * identifier))))) ;) (declaration "code ******ppppppcStack_140;" type_identifier (pointer_declarator "******ppppppcStack_140" * (pointer_declarator "*****ppppppcStack_140" * (pointer_declarator "****ppppppcStack_140" * (pointer_declarator "***ppppppcStack_140" * (pointer_declarator "**ppppppcStack_140" * (pointer_declarator "*ppppppcStack_140" * identifier)))))) ;) (declaration "undefined4 uStack_13c;" type_identifier identifier ;) (declaration "code *******pppppppcStack_128;" type_identifier (pointer_declarator "*******pppppppcStack_128" * (pointer_declarator "******pppppppcStack_128" * (pointer_declarator "*****pppppppcStack_128" * (pointer_declarator "****pppppppcStack_128" * (pointer_declarator "***pppppppcStack_128" * (pointer_declarator "**pppppppcStack_128" * (pointer_declarator "*pppppppcStack_128" * identifier))))))) ;) (declaration "code ******ppppppcStack_124;" type_identifier (pointer_declarator "******ppppppcStack_124" * (pointer_declarator "*****ppppppcStack_124" * (pointer_declarator "****ppppppcStack_124" * (pointer_declarator "***ppppppcStack_124" * (pointer_declarator "**ppppppcStack_124" * (pointer_declarator "*ppppppcStack_124" * identifier)))))) ;) (declaration "undefined *puStack_120;" type_identifier (pointer_declarator "*puStack_120" * identifier) ;) (declaration "code ******ppppppcStack_118;" type_identifier (pointer_declarator "******ppppppcStack_118" * (pointer_declarator "*****ppppppcStack_118" * (pointer_declarator "****ppppppcStack_118" * (pointer_declarator "***ppppppcStack_118" * (pointer_declarator "**ppppppcStack_118" * (pointer_declarator "*ppppppcStack_118" * identifier)))))) ;) (declaration "code *****pppppcStack_114;" type_identifier (pointer_declarator "*****pppppcStack_114" * (pointer_declarator "****pppppcStack_114" * (pointer_declarator "***pppppcStack_114" * (pointer_declarator "**pppppcStack_114" * (pointer_declarator "*pppppcStack_114" * identifier))))) ;) (declaration "code *****pppppcStack_110;" type_identifier (pointer_declarator "*****pppppcStack_110" * (pointer_declarator "****pppppcStack_110" * (pointer_declarator "***pppppcStack_110" * (pointer_declarator "**pppppcStack_110" * (pointer_declarator "*pppppcStack_110" * identifier))))) ;) (declaration "code *****pppppcStack_10c;" type_identifier (pointer_declarator "*****pppppcStack_10c" * (pointer_declarator "****pppppcStack_10c" * (pointer_declarator "***pppppcStack_10c" * (pointer_declarator "**pppppcStack_10c" * (pointer_declarator "*pppppcStack_10c" * identifier))))) ;) (declaration "int iStack_108;" primitive_type identifier ;) (declaration "int iStack_104;" primitive_type identifier ;) (declaration "code *pcStack_100;" type_identifier (pointer_declarator "*pcStack_100" * identifier) ;) (declaration "int iStack_fc;" primitive_type identifier ;) (declaration "code *******pppppppcStack_f8;" type_identifier (pointer_declarator "*******pppppppcStack_f8" * (pointer_declarator "******pppppppcStack_f8" * (pointer_declarator "*****pppppppcStack_f8" * (pointer_declarator "****pppppppcStack_f8" * (pointer_declarator "***pppppppcStack_f8" * (pointer_declarator "**pppppppcStack_f8" * (pointer_declarator "*pppppppcStack_f8" * identifier))))))) ;) (declaration "int iStack_f4;" primitive_type identifier ;) (declaration "uint uStack_f0;" type_identifier identifier ;) (declaration "code *******pppppppcStack_ec;" type_identifier (pointer_declarator "*******pppppppcStack_ec" * (pointer_declarator "******pppppppcStack_ec" * (pointer_declarator "*****pppppppcStack_ec" * (pointer_declarator "****pppppppcStack_ec" * (pointer_declarator "***pppppppcStack_ec" * (pointer_declarator "**pppppppcStack_ec" * (pointer_declarator "*pppppppcStack_ec" * identifier))))))) ;) (declaration "code *****pppppcStack_e8;" type_identifier (pointer_declarator "*****pppppcStack_e8" * (pointer_declarator "****pppppcStack_e8" * (pointer_declarator "***pppppcStack_e8" * (pointer_declarator "**pppppcStack_e8" * (pointer_declarator "*pppppcStack_e8" * identifier))))) ;) (declaration "code *pcStack_e4;" type_identifier (pointer_declarator "*pcStack_e4" * identifier) ;) (declaration "code *pcStack_e0;" type_identifier (pointer_declarator "*pcStack_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 *pcStack_d4;" type_identifier (pointer_declarator "*pcStack_d4" * identifier) ;) (declaration "code *pcStack_d0;" type_identifier (pointer_declarator "*pcStack_d0" * identifier) ;) (declaration "int iStack_cc;" primitive_type identifier ;) (declaration "code ****ppppcStack_c8;" type_identifier (pointer_declarator "****ppppcStack_c8" * (pointer_declarator "***ppppcStack_c8" * (pointer_declarator "**ppppcStack_c8" * (pointer_declarator "*ppppcStack_c8" * identifier)))) ;) (declaration "int iStack_c4;" primitive_type identifier ;) (declaration "undefined4 uStack_c0;" type_identifier identifier ;) (declaration "uint uStack_bc;" type_identifier identifier ;) (declaration "byte *pbStack_b4;" type_identifier (pointer_declarator "*pbStack_b4" * identifier) ;) (declaration "code *******pppppppcStack_b0;" type_identifier (pointer_declarator "*******pppppppcStack_b0" * (pointer_declarator "******pppppppcStack_b0" * (pointer_declarator "*****pppppppcStack_b0" * (pointer_declarator "****pppppppcStack_b0" * (pointer_declarator "***pppppppcStack_b0" * (pointer_declarator "**pppppppcStack_b0" * (pointer_declarator "*pppppppcStack_b0" * identifier))))))) ;) (declaration "code ******ppppppcStack_ac;" type_identifier (pointer_declarator "******ppppppcStack_ac" * (pointer_declarator "*****ppppppcStack_ac" * (pointer_declarator "****ppppppcStack_ac" * (pointer_declarator "***ppppppcStack_ac" * (pointer_declarator "**ppppppcStack_ac" * (pointer_declarator "*ppppppcStack_ac" * identifier)))))) ;) (declaration "uint uStack_a4;" type_identifier identifier ;) (declaration "ushort uStack_a0;" type_identifier identifier ;) (declaration "ushort uStack_9e;" type_identifier identifier ;) (declaration "code ******ppppppcStack_94;" type_identifier (pointer_declarator "******ppppppcStack_94" * (pointer_declarator "*****ppppppcStack_94" * (pointer_declarator "****ppppppcStack_94" * (pointer_declarator "***ppppppcStack_94" * (pointer_declarator "**ppppppcStack_94" * (pointer_declarator "*ppppppcStack_94" * identifier)))))) ;) (declaration "code *******pppppppcStack_90;" type_identifier (pointer_declarator "*******pppppppcStack_90" * (pointer_declarator "******pppppppcStack_90" * (pointer_declarator "*****pppppppcStack_90" * (pointer_declarator "****pppppppcStack_90" * (pointer_declarator "***pppppppcStack_90" * (pointer_declarator "**pppppppcStack_90" * (pointer_declarator "*pppppppcStack_90" * identifier))))))) ;) (declaration "undefined *puStack_8c;" type_identifier (pointer_declarator "*puStack_8c" * identifier) ;) (declaration "code *******pppppppcStack_88;" type_identifier (pointer_declarator "*******pppppppcStack_88" * (pointer_declarator "******pppppppcStack_88" * (pointer_declarator "*****pppppppcStack_88" * (pointer_declarator "****pppppppcStack_88" * (pointer_declarator "***pppppppcStack_88" * (pointer_declarator "**pppppppcStack_88" * (pointer_declarator "*pppppppcStack_88" * identifier))))))) ;) (declaration "code *******pppppppcStack_84;" type_identifier (pointer_declarator "*******pppppppcStack_84" * (pointer_declarator "******pppppppcStack_84" * (pointer_declarator "*****pppppppcStack_84" * (pointer_declarator "****pppppppcStack_84" * (pointer_declarator "***pppppppcStack_84" * (pointer_declarator "**pppppppcStack_84" * (pointer_declarator "*pppppppcStack_84" * identifier))))))) ;) (declaration "code *******pppppppcStack_80;" type_identifier (pointer_declarator "*******pppppppcStack_80" * (pointer_declarator "******pppppppcStack_80" * (pointer_declarator "*****pppppppcStack_80" * (pointer_declarator "****pppppppcStack_80" * (pointer_declarator "***pppppppcStack_80" * (pointer_declarator "**pppppppcStack_80" * (pointer_declarator "*pppppppcStack_80" * identifier))))))) ;) (declaration "code *******pppppppcStack_7c;" type_identifier (pointer_declarator "*******pppppppcStack_7c" * (pointer_declarator "******pppppppcStack_7c" * (pointer_declarator "*****pppppppcStack_7c" * (pointer_declarator "****pppppppcStack_7c" * (pointer_declarator "***pppppppcStack_7c" * (pointer_declarator "**pppppppcStack_7c" * (pointer_declarator "*pppppppcStack_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 *****pppppcStack_74;" type_identifier (pointer_declarator "*****pppppcStack_74" * (pointer_declarator "****pppppcStack_74" * (pointer_declarator "***pppppcStack_74" * (pointer_declarator "**pppppcStack_74" * (pointer_declarator "*pppppcStack_74" * identifier))))) ;) (declaration "code ******ppppppcStack_70;" type_identifier (pointer_declarator "******ppppppcStack_70" * (pointer_declarator "*****ppppppcStack_70" * (pointer_declarator "****ppppppcStack_70" * (pointer_declarator "***ppppppcStack_70" * (pointer_declarator "**ppppppcStack_70" * (pointer_declarator "*ppppppcStack_70" * identifier)))))) ;) (declaration "code *pcStack_6c;" type_identifier (pointer_declarator "*pcStack_6c" * identifier) ;) (declaration "code *******pppppppcStack_64;" type_identifier (pointer_declarator "*******pppppppcStack_64" * (pointer_declarator "******pppppppcStack_64" * (pointer_declarator "*****pppppppcStack_64" * (pointer_declarator "****pppppppcStack_64" * (pointer_declarator "***pppppppcStack_64" * (pointer_declarator "**pppppppcStack_64" * (pointer_declarator "*pppppppcStack_64" * identifier))))))) ;) (declaration "code *******local_58;" type_identifier (pointer_declarator "*******local_58" * (pointer_declarator "******local_58" * (pointer_declarator "*****local_58" * (pointer_declarator "****local_58" * (pointer_declarator "***local_58" * (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * identifier))))))) ;) (declaration "code ******ppppppcStack_54;" type_identifier (pointer_declarator "******ppppppcStack_54" * (pointer_declarator "*****ppppppcStack_54" * (pointer_declarator "****ppppppcStack_54" * (pointer_declarator "***ppppppcStack_54" * (pointer_declarator "**ppppppcStack_54" * (pointer_declarator "*ppppppcStack_54" * identifier)))))) ;) (declaration "code ******local_30;" type_identifier (pointer_declarator "******local_30" * (pointer_declarator "*****local_30" * (pointer_declarator "****local_30" * (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier)))))) ;) (declaration "code ****local_2c;" type_identifier (pointer_declarator "****local_2c" * (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier)))) ;) (expression_statement "puVar3 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar3 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" identifier = identifier) ;) (expression_statement "pppppcVar15 = param_1[5];" (assignment_expression "pppppcVar15 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "local_2c = *(code *****)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(code *****)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(code *****)PTR___stack_chk_guard_00190e24" * (cast_expression "(code *****)PTR___stack_chk_guard_00190e24" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier))) ;) (if_statement "if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar20 = param_1;\n    pppppppcVar21 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }" if (parenthesized_expression "((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0))" ( (binary_expression "(param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)" (parenthesized_expression "(param_3 == (code *******)0x0)" ( (binary_expression "param_3 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) || (parenthesized_expression "(param_1[4] == (code *****)0x0)" ( (binary_expression "param_1[4] == (code *****)0x0" (subscript_expression "param_1[4]" 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    ppppppcVar20 = param_1;\n    pppppppcVar21 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }" { (expression_statement "ppppppcVar20 = param_1;" (assignment_expression "ppppppcVar20 = param_1" identifier = identifier) ;) (expression_statement "pppppppcVar21 = param_2;" (assignment_expression "pppppppcVar21 = param_2" identifier = identifier) ;) (expression_statement "pppppppcStack_80 = unaff_s4;" (assignment_expression "pppppppcStack_80 = unaff_s4" identifier = identifier) ;) (if_statement "if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }" if (parenthesized_expression "(param_4 != (code *******)0x0)" ( (binary_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)) )) (compound_statement "{\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }" { (labeled_statement "LAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" statement_identifier : (if_statement "if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" if (parenthesized_expression "(param_2 == (code *******)0x0)" ( (binary_expression "param_2 == (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        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }" { (expression_statement "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);" (assignment_expression "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154)" identifier = (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154)" ( (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_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154" identifier + number_literal) )))) ;) }) (else_clause "else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" else (compound_statement "{\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" { (expression_statement "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);" (assignment_expression "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18)" identifier = (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18)" ( (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_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18" identifier + number_literal) )))) ;) })))) (expression_statement "pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);" (assignment_expression "pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc)" identifier = (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc)" ( (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_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc" identifier + number_literal) )))) ;) (expression_statement "ppppppcVar20 = param_1;" (assignment_expression "ppppppcVar20 = param_1" identifier = identifier) ;) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" identifier = identifier) ;) (expression_statement "FUN_000a7bb8();" (call_expression "FUN_000a7bb8()" identifier (argument_list "()" ( ))) ;) (expression_statement "pppppppcStack_80 = unaff_s4;" (assignment_expression "pppppppcStack_80 = unaff_s4" identifier = identifier) ;) })) }) (else_clause "else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }" else (compound_statement "{\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }" { (expression_statement "unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;" (assignment_expression "unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0" identifier = (binary_expression "PTR_LAB_00190bc4 + 0x7cd0" identifier + number_literal)) ;) (expression_statement "unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);" (assignment_expression "unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78)" identifier = (cast_expression "(code *******)(PTR_LAB_00190bc4 + 0x7d78)" ( (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_00190bc4 + 0x7d78)" ( (binary_expression "PTR_LAB_00190bc4 + 0x7d78" identifier + number_literal) )))) ;) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8)" identifier = (cast_expression "(code *)(PTR_LAB_00190b40 + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0xee8)" ( (binary_expression "PTR_LAB_00190b40 + 0xee8" identifier + number_literal) )))) ;) (expression_statement "pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);" (assignment_expression "pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x7bb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x7bb8)" ( (binary_expression "PTR_LAB_00190bc4 + 0x7bb8" identifier + number_literal) )))) ;) (expression_statement "unaff_s0 = param_3;" (assignment_expression "unaff_s0 = param_3" identifier = identifier) ;) (expression_statement "pppppppcVar8 = param_4;" (assignment_expression "pppppppcVar8 = param_4" identifier = identifier) ;) (expression_statement "unaff_s3 = unaff_s4;" (assignment_expression "unaff_s3 = unaff_s4" identifier = identifier) ;) (while_statement "while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }" while (parenthesized_expression "(ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0)" ( (comma_expression "ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0" (assignment_expression "ppppppcVar20 = param_1" identifier = identifier) , (comma_expression "pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0" (assignment_expression "pppppppcVar21 = unaff_s0" identifier = identifier) , (comma_expression "iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0" (assignment_expression "iVar6 = FUN_000a7cd0()" identifier = (call_expression "FUN_000a7cd0()" identifier (argument_list "()" ( )))) , (comma_expression "pppppppcStack_80 = unaff_s3, iVar6 == 0" (assignment_expression "pppppppcStack_80 = unaff_s3" identifier = identifier) , (binary_expression "iVar6 == 0" identifier == number_literal))))) )) (compound_statement "{\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }" { (expression_statement "param_3 = &local_30;" (assignment_expression "param_3 = &local_30" identifier = (pointer_expression "&local_30" & identifier)) ;) (expression_statement "unaff_s3 = (code *******)((int)pppppppcVar8 + -1);" (assignment_expression "unaff_s3 = (code *******)((int)pppppppcVar8 + -1)" identifier = (cast_expression "(code *******)((int)pppppppcVar8 + -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)pppppppcVar8 + -1)" ( (binary_expression "(int)pppppppcVar8 + -1" (cast_expression "(int)pppppppcVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);" (assignment_expression "iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0)" identifier = (call_expression "(*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0)" (parenthesized_expression "(*(code *)param_1[1][0x33])" ( (pointer_expression "*(code *)param_1[1][0x33]" * (cast_expression "(code *)param_1[1][0x33]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1][0x33]" (subscript_expression "param_1[1]" identifier [ number_literal ]) [ number_literal ]))) )) (argument_list "(param_1[1],unaff_s0,param_3,0)" ( (subscript_expression "param_1[1]" identifier [ number_literal ]) , identifier , identifier , number_literal )))) ;) (expression_statement "pppppppcStack_80 = unaff_s3;" (assignment_expression "pppppppcStack_80 = unaff_s3" identifier = identifier) ;) (if_statement "if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }" { (expression_statement "pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);" (assignment_expression "pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c)" identifier = (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c)" ( (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_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c)" ( (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c" identifier + number_literal) )))) ;) (expression_statement "ppppppcVar20 = param_1;" (assignment_expression "ppppppcVar20 = param_1" identifier = identifier) ;) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" identifier = identifier) ;) (expression_statement "FUN_000a7bb8();" (call_expression "FUN_000a7bb8()" identifier (argument_list "()" ( ))) ;) (if_statement "if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;" if (parenthesized_expression "(unaff_s3 == (code *******)0x0)" ( (binary_expression "unaff_s3 == (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_000a8064;" goto statement_identifier ;)) (expression_statement "pppppcVar7 = param_1[5];" (assignment_expression "pppppcVar7 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "unaff_s4 = unaff_s3;" (assignment_expression "unaff_s4 = unaff_s3" identifier = identifier) ;) (goto_statement "goto LAB_000a8188;" goto statement_identifier ;) })) (expression_statement "pppppppcVar21 = (code *******)*param_1;" (assignment_expression "pppppppcVar21 = (code *******)*param_1" identifier = (cast_expression "(code *******)*param_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 "*" *)))))))) ) (pointer_expression "*param_1" * identifier))) ;) (expression_statement "unaff_s7 = local_30[1];" (assignment_expression "unaff_s7 = local_30[1]" identifier = (subscript_expression "local_30[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar32 = (code *)((int)pppppppcVar21 + 0x11);" (assignment_expression "pcVar32 = (code *)((int)pppppppcVar21 + 0x11)" identifier = (cast_expression "(code *)((int)pppppppcVar21 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar21 + 0x11)" ( (binary_expression "(int)pppppppcVar21 + 0x11" (cast_expression "(int)pppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }" if (parenthesized_expression "(param_2 == (code *******)0x0)" ( (binary_expression "param_2 == (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        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }" { (expression_statement "pppppppcVar21 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar21 = (code *******)*unaff_s7" identifier = (cast_expression "(code *******)*unaff_s7" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*unaff_s7" * identifier))) ;) (expression_statement "pppppppcVar35 = pppppppcVar21;" (assignment_expression "pppppppcVar35 = pppppppcVar21" identifier = identifier) ;) (expression_statement "pppppppcVar8 = unaff_s3;" (assignment_expression "pppppppcVar8 = unaff_s3" identifier = identifier) ;) (if_statement "if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }" if (parenthesized_expression "((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0))" ( (binary_expression "(*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)" (parenthesized_expression "(*pcVar32 != (code)0x0)" ( (binary_expression "*pcVar32 != (code)0x0" (pointer_expression "*pcVar32" * identifier) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) && (parenthesized_expression "(param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)" ( (comma_expression "param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0" (assignment_expression "param_3 = (code *******)&DAT_00000004" identifier = (cast_expression "(code *******)&DAT_00000004" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&DAT_00000004" & identifier))) , (binary_expression "unaff_s3 != (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          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }" { (expression_statement "FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);" (call_expression "FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0)" identifier (argument_list "(param_1,pppppppcVar21,4,unaff_s0)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "pppppppcVar35 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar35 = (code *******)*unaff_s7" identifier = (cast_expression "(code *******)*unaff_s7" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*unaff_s7" * identifier))) ;) (goto_statement "goto LAB_000a7fb8;" goto statement_identifier ;) })) (labeled_statement "LAB_000a8048:\n        ppppppcVar20 = local_30;" statement_identifier : (expression_statement "ppppppcVar20 = local_30;" (assignment_expression "ppppppcVar20 = local_30" identifier = identifier) ;)) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s0 = pppppppcVar35;" (assignment_expression "unaff_s0 = pppppppcVar35" identifier = identifier) ;) }) (else_clause "else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }" else (compound_statement "{\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }" { (expression_statement "unaff_s2 = (code *******)unaff_s7[1];" (assignment_expression "unaff_s2 = (code *******)unaff_s7[1]" identifier = (cast_expression "(code *******)unaff_s7[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_s7[1]" identifier [ number_literal ]))) ;) (if_statement "if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }" if (parenthesized_expression "(*pcVar32 != (code)0x0)" ( (binary_expression "*pcVar32 != (code)0x0" (pointer_expression "*pcVar32" * identifier) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }" { (expression_statement "param_3 = (code *******)0x2;" (assignment_expression "param_3 = (code *******)0x2" identifier = (cast_expression "(code *******)0x2" ( (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 "FUN_000a7d78(param_1,unaff_s0,2,0);" (call_expression "FUN_000a7d78(param_1,unaff_s0,2,0)" identifier (argument_list "(param_1,unaff_s0,2,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "pppppppcVar21 = (code *******)*param_1;" (assignment_expression "pppppppcVar21 = (code *******)*param_1" identifier = (cast_expression "(code *******)*param_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 "*" *)))))))) ) (pointer_expression "*param_1" * identifier))) ;) })) (if_statement "if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" if (parenthesized_expression "((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2)" ( (binary_expression "(code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2" (cast_expression "(code *******)(((uint)pppppppcVar21[9] >> 2) - 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 "(((uint)pppppppcVar21[9] >> 2) - 2)" ( (binary_expression "((uint)pppppppcVar21[9] >> 2) - 2" (parenthesized_expression "((uint)pppppppcVar21[9] >> 2)" ( (binary_expression "(uint)pppppppcVar21[9] >> 2" (cast_expression "(uint)pppppppcVar21[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppppcVar21[9]" identifier [ number_literal ])) >> number_literal) )) - number_literal) ))) < identifier) )) (compound_statement "{\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }" { (expression_statement "pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);" (assignment_expression "pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2)" identifier = (cast_expression "(code *******)((int)pppppppcVar8 + -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)pppppppcVar8 + -2)" ( (binary_expression "(int)pppppppcVar8 + -2" (cast_expression "(int)pppppppcVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppcVar21 = (code *******)(puVar39 + -0x5124);" (assignment_expression "pppppppcVar21 = (code *******)(puVar39 + -0x5124)" identifier = (cast_expression "(code *******)(puVar39 + -0x5124)" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(puVar39 + -0x5124)" ( (binary_expression "puVar39 + -0x5124" identifier + number_literal) )))) ;) (expression_statement "(*pcVar5)(param_1);" (call_expression "(*pcVar5)(param_1)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pppppppcVar35 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar35 = (code *******)*unaff_s7" identifier = (cast_expression "(code *******)*unaff_s7" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*unaff_s7" * identifier))) ;) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" identifier = identifier) ;) }) (else_clause "else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" else (compound_statement "{\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" { (if_statement "if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }" if (parenthesized_expression "(0 < (int)unaff_s2)" ( (binary_expression "0 < (int)unaff_s2" number_literal < (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }" { (expression_statement "pppppcVar33 = unaff_s7 + 2;" (assignment_expression "pppppcVar33 = unaff_s7 + 2" identifier = (binary_expression "unaff_s7 + 2" identifier + number_literal)) ;) (expression_statement "pppppcVar7 = pppppcVar33 + (int)unaff_s2;" (assignment_expression "pppppcVar7 = pppppcVar33 + (int)unaff_s2" identifier = (binary_expression "pppppcVar33 + (int)unaff_s2" identifier + (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (while_statement "while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }" { (expression_statement "pppppppcVar8 = (code *******)*pppppcVar33;" (assignment_expression "pppppppcVar8 = (code *******)*pppppcVar33" identifier = (cast_expression "(code *******)*pppppcVar33" ( (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 "*pppppcVar33" * identifier))) ;) (if_statement "if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }" if (parenthesized_expression "(*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar21 + 0x11)" * (cast_expression "(code *)((int)pppppppcVar21 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar21 + 0x11)" ( (binary_expression "(int)pppppppcVar21 + 0x11" (cast_expression "(int)pppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }" { (expression_statement "FUN_000a7cd0(param_1);" (call_expression "FUN_000a7cd0(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pppppppcVar21 = pppppppcVar8;" (assignment_expression "pppppppcVar21 = pppppppcVar8" identifier = identifier) ;) }) (else_clause "else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }" else (compound_statement "{\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }" { (expression_statement "param_3 = (code *******)0x2;" (assignment_expression "param_3 = (code *******)0x2" identifier = (cast_expression "(code *******)0x2" ( (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 "FUN_000a7d78(param_1,pppppppcVar8,2,0);" (call_expression "FUN_000a7d78(param_1,pppppppcVar8,2,0)" identifier (argument_list "(param_1,pppppppcVar8,2,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_000a7cd0(param_1);" (call_expression "FUN_000a7cd0(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pppppppcVar21 = pppppppcVar8;" (assignment_expression "pppppppcVar21 = pppppppcVar8" identifier = identifier) ;) }))) (if_statement "if (pppppcVar33 + 1 == pppppcVar7) break;" if (parenthesized_expression "(pppppcVar33 + 1 == pppppcVar7)" ( (binary_expression "pppppcVar33 + 1 == pppppcVar7" (binary_expression "pppppcVar33 + 1" identifier + number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "pppppcVar33 = pppppcVar33 + 1;" (assignment_expression "pppppcVar33 = pppppcVar33 + 1" identifier = (binary_expression "pppppcVar33 + 1" identifier + number_literal)) ;) (expression_statement "pppppppcVar21 = (code *******)*param_1;" (assignment_expression "pppppppcVar21 = (code *******)*param_1" identifier = (cast_expression "(code *******)*param_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 "*" *)))))))) ) (pointer_expression "*param_1" * identifier))) ;) })) })) (expression_statement "pppppppcVar35 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar35 = (code *******)*unaff_s7" identifier = (cast_expression "(code *******)*unaff_s7" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "*unaff_s7" * identifier))) ;) (expression_statement "pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);" (assignment_expression "pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2)" identifier = (cast_expression "(code *******)((int)unaff_s3 - (int)unaff_s2)" ( (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)unaff_s3 - (int)unaff_s2)" ( (binary_expression "(int)unaff_s3 - (int)unaff_s2" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) (labeled_statement "LAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;" statement_identifier : (expression_statement "unaff_s0 = pppppppcVar35;" (assignment_expression "unaff_s0 = pppppppcVar35" identifier = identifier) ;)) (expression_statement "ppppppcVar20 = local_30;" (assignment_expression "ppppppcVar20 = local_30" identifier = identifier) ;) (if_statement "if (local_30 != (code ******)0x0) goto LAB_000a8048;" if (parenthesized_expression "(local_30 != (code ******)0x0)" ( (binary_expression "local_30 != (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_000a8048;" goto statement_identifier ;)) }))) (if_statement "if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;" if (parenthesized_expression "((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0))" ( (binary_expression "(unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)" (parenthesized_expression "(unaff_s0 == (code *******)0x0)" ( (binary_expression "unaff_s0 == (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 "(param_1[4] == (code *****)0x0)" ( (binary_expression "param_1[4] == (code *****)0x0" (subscript_expression "param_1[4]" 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 "unaff_s3 = pppppppcVar8;" (assignment_expression "unaff_s3 = pppppppcVar8" identifier = identifier) ;) (if_statement "if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }" if (parenthesized_expression "(pppppppcVar8 != (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)) )) (compound_statement "{\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }" { (expression_statement "pppppcVar7 = param_1[5];" (assignment_expression "pppppcVar7 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "unaff_s4 = pppppppcStack_80;" (assignment_expression "unaff_s4 = pppppppcStack_80" identifier = identifier) ;) (labeled_statement "LAB_000a8188:\n      pppppppcStack_80 = unaff_s4;" statement_identifier : (expression_statement "pppppppcStack_80 = unaff_s4;" (assignment_expression "pppppppcStack_80 = unaff_s4" identifier = identifier) ;)) (if_statement "if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;" if (parenthesized_expression "(pppppcVar7 == pppppcVar15)" ( (binary_expression "pppppcVar7 == pppppcVar15" identifier == identifier) )) (goto_statement "goto LAB_000a819c;" goto statement_identifier ;)) })) }))) (labeled_statement "LAB_000a8064:\n  if (local_2c == *(code *****)puVar3) {\n    return *(code *****)puVar3;\n  }" statement_identifier : (if_statement "if (local_2c == *(code *****)puVar3) {\n    return *(code *****)puVar3;\n  }" if (parenthesized_expression "(local_2c == *(code *****)puVar3)" ( (binary_expression "local_2c == *(code *****)puVar3" identifier == (pointer_expression "*(code *****)puVar3" * (cast_expression "(code *****)puVar3" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier))) )) (compound_statement "{\n    return *(code *****)puVar3;\n  }" { (return_statement "return *(code *****)puVar3;" return (pointer_expression "*(code *****)puVar3" * (cast_expression "(code *****)puVar3" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) }))) (expression_statement "pcVar4 = FUN_000a822c;" (assignment_expression "pcVar4 = FUN_000a822c" identifier = identifier) ;) (expression_statement "puVar39 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar39 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_120 = puVar39 + 0xf06f4;" (assignment_expression "puStack_120 = puVar39 + 0xf06f4" identifier = (binary_expression "puVar39 + 0xf06f4" identifier + number_literal)) ;) (expression_statement "piVar30 = *(int **)(puVar39 + 0xe8bf8);" (assignment_expression "piVar30 = *(int **)(puVar39 + 0xe8bf8)" identifier = (pointer_expression "*(int **)(puVar39 + 0xe8bf8)" * (cast_expression "(int **)(puVar39 + 0xe8bf8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar39 + 0xe8bf8)" ( (binary_expression "puVar39 + 0xe8bf8" identifier + number_literal) ))))) ;) (expression_statement "pbStack_b4 = (byte *)0x0;" (assignment_expression "pbStack_b4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppppppcStack_94 = (code ******)*piVar30;" (assignment_expression "ppppppcStack_94 = (code ******)*piVar30" identifier = (cast_expression "(code ******)*piVar30" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*piVar30" * identifier))) ;) (expression_statement "pppppppcVar8 = param_3;" (assignment_expression "pppppppcVar8 = param_3" identifier = identifier) ;) (expression_statement "pppppppcVar35 = pppppppcStack_80;" (assignment_expression "pppppppcVar35 = pppppppcStack_80" identifier = identifier) ;) (expression_statement "pppppppcStack_90 = unaff_s0;" (assignment_expression "pppppppcStack_90 = unaff_s0" identifier = identifier) ;) (expression_statement "puStack_8c = unaff_s1;" (assignment_expression "puStack_8c = unaff_s1" identifier = identifier) ;) (expression_statement "pppppppcStack_88 = unaff_s2;" (assignment_expression "pppppppcStack_88 = unaff_s2" identifier = identifier) ;) (expression_statement "pppppppcStack_84 = unaff_s3;" (assignment_expression "pppppppcStack_84 = unaff_s3" identifier = identifier) ;) (expression_statement "pppppppcStack_7c = unaff_s5;" (assignment_expression "pppppppcStack_7c = unaff_s5" identifier = identifier) ;) (expression_statement "pppppppcStack_78 = param_2;" (assignment_expression "pppppppcStack_78 = param_2" identifier = identifier) ;) (expression_statement "pppppcStack_74 = unaff_s7;" (assignment_expression "pppppcStack_74 = unaff_s7" identifier = identifier) ;) (expression_statement "ppppppcStack_70 = param_1;" (assignment_expression "ppppppcStack_70 = param_1" identifier = identifier) ;) (expression_statement "pcStack_6c = pcVar4;" (assignment_expression "pcStack_6c = pcVar4" identifier = identifier) ;) (if_statement "if (pppppppcVar21 == (code *******)0x0) {\nLAB_000a8280:\n    ppppcVar34 = (code ****)0x0;\n    ppppppcVar20 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }" if (parenthesized_expression "(pppppppcVar21 == (code *******)0x0)" ( (binary_expression "pppppppcVar21 == (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_000a8280:\n    ppppcVar34 = (code ****)0x0;\n    ppppppcVar20 = param_1;\n  }" { (labeled_statement "LAB_000a8280:\n    ppppcVar34 = (code ****)0x0;" statement_identifier : (expression_statement "ppppcVar34 = (code ****)0x0;" (assignment_expression "ppppcVar34 = (code ****)0x0" identifier = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;)) (expression_statement "ppppppcVar20 = param_1;" (assignment_expression "ppppppcVar20 = param_1" identifier = identifier) ;) }) (else_clause "else {\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }" else (compound_statement "{\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }" { (expression_statement "pppppcStack_114 = ppppppcVar20[7];" (assignment_expression "pppppcStack_114 = ppppppcVar20[7]" identifier = (subscript_expression "ppppppcVar20[7]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar35 = (code *******)*ppppppcVar20;" (assignment_expression "pppppppcVar35 = (code *******)*ppppppcVar20" identifier = (cast_expression "(code *******)*ppppppcVar20" ( (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 "*ppppppcVar20" * identifier))) ;) (expression_statement "pppppcStack_110 = ppppppcVar20[8];" (assignment_expression "pppppcStack_110 = ppppppcVar20[8]" identifier = (subscript_expression "ppppppcVar20[8]" identifier [ number_literal ])) ;) (expression_statement "pppppcStack_10c = ppppppcVar20[9];" (assignment_expression "pppppcStack_10c = ppppppcVar20[9]" identifier = (subscript_expression "ppppppcVar20[9]" identifier [ number_literal ])) ;) (expression_statement "ppppppcStack_118 = pppppppcVar35[9];" (assignment_expression "ppppppcStack_118 = pppppppcVar35[9]" identifier = (subscript_expression "pppppppcVar35[9]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = FUN_000a7cd0();" (assignment_expression "iVar6 = FUN_000a7cd0()" identifier = (call_expression "FUN_000a7cd0()" identifier (argument_list "()" ( )))) ;) (expression_statement "unaff_s5 = param_3;" (assignment_expression "unaff_s5 = param_3" identifier = identifier) ;) (expression_statement "param_1 = ppppppcVar20;" (assignment_expression "param_1 = ppppppcVar20" identifier = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_000a8280;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a8280;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)(puStack_120 + -0x7fc4);" (assignment_expression "iVar6 = *(int *)(puStack_120 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puStack_120 + -0x7de0);" (assignment_expression "iVar10 = *(int *)(puStack_120 + -0x7de0)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7de0)" * (cast_expression "(int *)(puStack_120 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7de0)" ( (binary_expression "puStack_120 + -0x7de0" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar20[8] = (code *****)pppppppcVar21;" (assignment_expression "ppppppcVar20[8] = (code *****)pppppppcVar21" (subscript_expression "ppppppcVar20[8]" identifier [ number_literal ]) = (cast_expression "(code *****)pppppppcVar21" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);" (assignment_expression "ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0)" (subscript_expression "ppppppcVar20[7]" identifier [ number_literal ]) = (cast_expression "(code *****)(iVar6 + -0x50e0)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar6 + -0x50e0)" ( (binary_expression "iVar6 + -0x50e0" identifier + number_literal) )))) ;) (expression_statement "pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);" (assignment_expression "pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0)" identifier = (cast_expression "(code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0)" ( (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 "(*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0)" (parenthesized_expression "(*(code *)(iVar10 + 0x1420))" ( (pointer_expression "*(code *)(iVar10 + 0x1420)" * (cast_expression "(code *)(iVar10 + 0x1420)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 0x1420)" ( (binary_expression "iVar10 + 0x1420" identifier + number_literal) )))) )) (argument_list "(pppppppcVar35,pppppppcVar21,&pbStack_b4,0)" ( identifier , identifier , (pointer_expression "&pbStack_b4" & identifier) , number_literal ))))) ;) (if_statement "if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }" if (parenthesized_expression "(pppppppcVar8 == (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)) )) (compound_statement "{\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }" { (expression_statement "uStack_f0 = (uint)*pbStack_b4;" (assignment_expression "uStack_f0 = (uint)*pbStack_b4" identifier = (binary_expression "(uint)*pbStack_b4" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "*pbStack_b4 = 0;" (assignment_expression "*pbStack_b4 = 0" (pointer_expression "*pbStack_b4" * identifier) = number_literal) ;) (expression_statement "pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);" (assignment_expression "pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4)" identifier = (cast_expression "(code *******)FUN_0008d10c(pbStack_b4)" ( (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 "FUN_0008d10c(pbStack_b4)" identifier (argument_list "(pbStack_b4)" ( identifier ))))) ;) (if_statement "if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }" if (parenthesized_expression "(pppppppcStack_dc != (code *******)0x0)" ( (binary_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)) )) (compound_statement "{\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }" { (expression_statement "iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;" (assignment_expression "iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac" identifier = (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x50ac" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pppppppcVar8 = pppppppcStack_dc;" (assignment_expression "pppppppcVar8 = pppppppcStack_dc" identifier = identifier) ;) (goto_statement "goto LAB_000a86a4;" goto statement_identifier ;) })) (expression_statement "param_2 = *(code ********)(pbStack_b4 + 0x38);" (assignment_expression "param_2 = *(code ********)(pbStack_b4 + 0x38)" identifier = (pointer_expression "*(code ********)(pbStack_b4 + 0x38)" * (cast_expression "(code ********)(pbStack_b4 + 0x38)" ( (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 "*" *))))))))) ) (parenthesized_expression "(pbStack_b4 + 0x38)" ( (binary_expression "pbStack_b4 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "bVar1 = pbStack_b4[9];" (assignment_expression "bVar1 = pbStack_b4[9]" identifier = (subscript_expression "pbStack_b4[9]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);" (assignment_expression "ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084)" (subscript_expression "ppppppcVar20[7]" identifier [ number_literal ]) = (cast_expression "(code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7fc4) + -0x5084)" ( (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x5084" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);" (assignment_expression "pcStack_d4 = (code *)((int)param_2 + (uint)bVar1)" identifier = (cast_expression "(code *)((int)param_2 + (uint)bVar1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + (uint)bVar1)" ( (binary_expression "(int)param_2 + (uint)bVar1" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;" (assignment_expression "iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4" identifier = (binary_expression "bVar1 + 0xc + (uint)pbStack_b4[8] * -4" (binary_expression "bVar1 + 0xc" identifier + number_literal) + (binary_expression "(uint)pbStack_b4[8] * -4" (cast_expression "(uint)pbStack_b4[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbStack_b4[8]" identifier [ number_literal ])) * number_literal))) ;) (expression_statement "pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);" (assignment_expression "pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1)" identifier = (cast_expression "(code *******)(*(ushort *)(pcStack_d4 + 3) - 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 "(*(ushort *)(pcStack_d4 + 3) - 1)" ( (binary_expression "*(ushort *)(pcStack_d4 + 3) - 1" (pointer_expression "*(ushort *)(pcStack_d4 + 3)" * (cast_expression "(ushort *)(pcStack_d4 + 3)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d4 + 3)" ( (binary_expression "pcStack_d4 + 3" identifier + number_literal) )))) - number_literal) )))) ;) (expression_statement "pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);" (assignment_expression "pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1)" identifier = (cast_expression "(code *******)(*(ushort *)(pcStack_d4 + 5) - 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 "(*(ushort *)(pcStack_d4 + 5) - 1)" ( (binary_expression "*(ushort *)(pcStack_d4 + 5) - 1" (pointer_expression "*(ushort *)(pcStack_d4 + 5)" * (cast_expression "(ushort *)(pcStack_d4 + 5)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d4 + 5)" ( (binary_expression "pcStack_d4 + 5" identifier + number_literal) )))) - number_literal) )))) ;) (expression_statement "ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);" (assignment_expression "ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff)" identifier = (cast_expression "(code ****)((uint)pppppppcVar8 & 0xffff)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)pppppppcVar8 & 0xffff)" ( (binary_expression "(uint)pppppppcVar8 & 0xffff" (cast_expression "(uint)pppppppcVar8" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);" (assignment_expression "pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4)" identifier = (cast_expression "(code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4)" ( (binary_expression "(int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4" (binary_expression "(int)param_2 + (int)pppppppcStack_ec * 2" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)pppppppcStack_ec * 2" (cast_expression "(int)pppppppcStack_ec" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + identifier) )))) ;) (expression_statement "pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);" (assignment_expression "pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1)" identifier = (cast_expression "(code *******)((int)ppppcStack_c8 + 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)ppppcStack_c8 + 1)" ( (binary_expression "(int)ppppcStack_c8 + 1" (cast_expression "(int)ppppcStack_c8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" if (parenthesized_expression "(pbStack_b4[8] == 0)" ( (binary_expression "pbStack_b4[8] == 0" (subscript_expression "pbStack_b4[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }" { (expression_statement "uVar42 = *(undefined4 *)(pcStack_d4 + 8);" (assignment_expression "uVar42 = *(undefined4 *)(pcStack_d4 + 8)" identifier = (pointer_expression "*(undefined4 *)(pcStack_d4 + 8)" * (cast_expression "(undefined4 *)(pcStack_d4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d4 + 8)" ( (binary_expression "pcStack_d4 + 8" identifier + number_literal) ))))) ;) (if_statement "if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }" if (parenthesized_expression "(*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar35 + 0x11)" * (cast_expression "(code *)((int)pppppppcVar35 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar35 + 0x11)" ( (binary_expression "(int)pppppppcVar35 + 0x11" (cast_expression "(int)pppppppcVar35" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }" { (expression_statement "ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);" (assignment_expression "ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068)" (subscript_expression "ppppppcVar20[7]" identifier [ number_literal ]) = (cast_expression "(code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7fc4) + -0x5068)" ( (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x5068" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);" (call_expression "FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21)" identifier (argument_list "(ppppppcVar20,uVar42,5,pppppppcVar21)" ( identifier , identifier , number_literal , identifier ))) ;) })) (expression_statement "pppppppcVar8 = (code *******)&local_58;" (assignment_expression "pppppppcVar8 = (code *******)&local_58" identifier = (cast_expression "(code *******)&local_58" ( (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_58" & identifier))) ;) (expression_statement "ppppppcStack_124 = ppppppcStack_54;" (assignment_expression "ppppppcStack_124 = ppppppcStack_54" identifier = identifier) ;) (expression_statement "unaff_s7 = (code *****)0x0;" (assignment_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 "*" *)))))) ) number_literal)) ;) (expression_statement "pppppppcStack_128 = local_58;" (assignment_expression "pppppppcStack_128 = local_58" identifier = identifier) ;) (expression_statement "iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);" (assignment_expression "iStack_108 = FUN_000a822c(ppppppcVar20,uVar42)" identifier = (call_expression "FUN_000a822c(ppppppcVar20,uVar42)" identifier (argument_list "(ppppppcVar20,uVar42)" ( identifier , identifier )))) ;) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" else (compound_statement "{\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" { (expression_statement "unaff_s7 = ppppppcVar20[0x10];" (assignment_expression "unaff_s7 = ppppppcVar20[0x10]" identifier = (subscript_expression "ppppppcVar20[0x10]" identifier [ number_literal ])) ;) (expression_statement "iStack_104 = 1;" (assignment_expression "iStack_104 = 1" identifier = number_literal) ;) (expression_statement "*unaff_s7 = (code ****)0x0;" (assignment_expression "*unaff_s7 = (code ****)0x0" (pointer_expression "*unaff_s7" * identifier) = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "iStack_108 = -1;" (assignment_expression "iStack_108 = -1" identifier = number_literal) ;) }))) (expression_statement "pppppppcVar24 = pppppppcStack_d8;" (assignment_expression "pppppppcVar24 = pppppppcStack_d8" identifier = identifier) ;) (expression_statement "unaff_s2 = pppppppcStack_ec;" (assignment_expression "unaff_s2 = pppppppcStack_ec" identifier = identifier) ;) (if_statement "if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" if (parenthesized_expression "((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0))" ( (binary_expression "(pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)" (parenthesized_expression "(pppppppcStack_ec == (code *******)0xffffffff)" ( (binary_expression "pppppppcStack_ec == (code *******)0xffffffff" identifier == (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) || (parenthesized_expression "(ppppppcVar20[4] == (code *****)0x0)" ( (binary_expression "ppppppcVar20[4] == (code *****)0x0" (subscript_expression "ppppppcVar20[4]" 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        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }" { (expression_statement "ppppcVar34 = (code ****)(iStack_108 + 1);" (assignment_expression "ppppcVar34 = (code ****)(iStack_108 + 1)" identifier = (cast_expression "(code ****)(iStack_108 + 1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iStack_108 + 1)" ( (binary_expression "iStack_108 + 1" identifier + number_literal) )))) ;) (expression_statement "param_3[1] = ppppppcStack_54;" (assignment_expression "param_3[1] = ppppppcStack_54" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*param_3 = (code ******)local_58;" (assignment_expression "*param_3 = (code ******)local_58" (pointer_expression "*param_3" * identifier) = (cast_expression "(code ******)local_58" ( (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 "ppppppcVar20[7] = (code *****)0x0;" (assignment_expression "ppppppcVar20[7] = (code *****)0x0" (subscript_expression "ppppppcVar20[7]" 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)) ;) (labeled_statement "LAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }" statement_identifier : (if_statement "if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }" if (parenthesized_expression "(0 < (int)ppppppcVar20[4])" ( (binary_expression "0 < (int)ppppppcVar20[4]" number_literal < (cast_expression "(int)ppppppcVar20[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar20[4]" identifier [ number_literal ]))) )) (compound_statement "{\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }" { (if_statement "if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }" if (parenthesized_expression "(pbStack_b4[8] == 0)" ( (binary_expression "pbStack_b4[8] == 0" (subscript_expression "pbStack_b4[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }" { (expression_statement "unaff_s7 = ppppppcVar20[0x10];" (assignment_expression "unaff_s7 = ppppppcVar20[0x10]" identifier = (subscript_expression "ppppppcVar20[0x10]" identifier [ number_literal ])) ;) (expression_statement "*unaff_s7 = (code ****)0x0;" (assignment_expression "*unaff_s7 = (code ****)0x0" (pointer_expression "*unaff_s7" * identifier) = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (if_statement "if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }" if (parenthesized_expression "(pppppppcStack_ec != (code *******)0xffffffff)" ( (binary_expression "pppppppcStack_ec != (code *******)0xffffffff" identifier != (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }" { (expression_statement "unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);" (assignment_expression "unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738)" identifier = (cast_expression "(code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738)" ( (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_120 + -0x7de0) + 0x1738)" ( (binary_expression "*(int *)(puStack_120 + -0x7de0) + 0x1738" (pointer_expression "*(int *)(puStack_120 + -0x7de0)" * (cast_expression "(int *)(puStack_120 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7de0)" ( (binary_expression "puStack_120 + -0x7de0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar6 = iStack_c4 + -2;" (assignment_expression "iVar6 = iStack_c4 + -2" identifier = (binary_expression "iStack_c4 + -2" identifier + number_literal)) ;) (expression_statement "pcVar4 = pcStack_e4;" (assignment_expression "pcVar4 = pcStack_e4" identifier = identifier) ;) (expression_statement "pppppppcStack_64 = pppppppcVar21;" (assignment_expression "pppppppcStack_64 = pppppppcVar21" identifier = identifier) ;) (do_statement "do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);" do (compound_statement "{\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              }" { (expression_statement "pcVar5 = pcVar4 + -2;" (assignment_expression "pcVar5 = pcVar4 + -2" identifier = (binary_expression "pcVar4 + -2" identifier + number_literal)) ;) (expression_statement "uVar23 = (uint)*(ushort *)pcVar4;" (assignment_expression "uVar23 = (uint)*(ushort *)pcVar4" identifier = (binary_expression "(uint)*(ushort *)pcVar4" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)pcVar4" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));" (assignment_expression "iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23))" identifier = (call_expression "(**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23))" (parenthesized_expression "(**(code **)(pbStack_b4 + 0x4c))" ( (pointer_expression "**(code **)(pbStack_b4 + 0x4c)" * (pointer_expression "*(code **)(pbStack_b4 + 0x4c)" * (cast_expression "(code **)(pbStack_b4 + 0x4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbStack_b4 + 0x4c)" ( (binary_expression "pbStack_b4 + 0x4c" identifier + number_literal) ))))) )) (argument_list "(pbStack_b4,(code *)((int)param_2 + uVar23))" ( identifier , (cast_expression "(code *)((int)param_2 + uVar23)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + uVar23)" ( (binary_expression "(int)param_2 + uVar23" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) )))) ;) (expression_statement "pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);" (assignment_expression "pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23)" identifier = (cast_expression "(code *******)(iVar10 + -1 + uVar23)" ( (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 "(iVar10 + -1 + uVar23)" ( (binary_expression "iVar10 + -1 + uVar23" (binary_expression "iVar10 + -1" identifier + number_literal) + identifier) )))) ;) (expression_statement "(*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);" (call_expression "(*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10)" (parenthesized_expression "(*(code *)unaff_s5)" ( (pointer_expression "*(code *)unaff_s5" * (cast_expression "(code *)unaff_s5" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10)" ( identifier , (binary_expression "(uint)pppppppcVar35 | uVar23 << 0x10" (cast_expression "(uint)pppppppcVar35" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "uVar23 << 0x10" identifier << number_literal)) ))) ;) (expression_statement "pcVar4 = pcVar5;" (assignment_expression "pcVar4 = pcVar5" identifier = identifier) ;) (expression_statement "pppppppcVar21 = pppppppcStack_64;" (assignment_expression "pppppppcVar21 = pppppppcStack_64" identifier = identifier) ;) }) while (parenthesized_expression "((code *)((int)param_2 + iVar6) != pcVar5)" ( (binary_expression "(code *)((int)param_2 + iVar6) != pcVar5" (cast_expression "(code *)((int)param_2 + iVar6)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + iVar6)" ( (binary_expression "(int)param_2 + iVar6" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) != identifier) )) ;) })) })) (expression_statement "uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);" (assignment_expression "uVar23 = (uint)*(ushort *)(pcStack_d4 + 1)" identifier = (binary_expression "(uint)*(ushort *)(pcStack_d4 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(pcStack_d4 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_d4 + 1)" ( (binary_expression "pcStack_d4 + 1" identifier + number_literal) ))))) ;) (expression_statement "unaff_s2 = *(code ********)(puStack_120 + -0x7de0);" (assignment_expression "unaff_s2 = *(code ********)(puStack_120 + -0x7de0)" identifier = (pointer_expression "*(code ********)(puStack_120 + -0x7de0)" * (cast_expression "(code ********)(puStack_120 + -0x7de0)" ( (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 "*" *))))))))) ) (parenthesized_expression "(puStack_120 + -0x7de0)" ( (binary_expression "puStack_120 + -0x7de0" identifier + number_literal) ))))) ;) (if_statement "if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }" if (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) (compound_statement "{\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }" { (expression_statement "unaff_s2 = unaff_s2 + 0x5ce;" (assignment_expression "unaff_s2 = unaff_s2 + 0x5ce" identifier = (binary_expression "unaff_s2 + 0x5ce" identifier + number_literal)) ;) (expression_statement "pppppppcVar8 = unaff_s2;" (assignment_expression "pppppppcVar8 = unaff_s2" identifier = identifier) ;) (do_statement "do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);" do (compound_statement "{\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            }" { (expression_statement "pcVar4 = (code *)((int)param_2 + uVar23);" (assignment_expression "pcVar4 = (code *)((int)param_2 + uVar23)" identifier = (cast_expression "(code *)((int)param_2 + uVar23)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + uVar23)" ( (binary_expression "(int)param_2 + uVar23" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "(*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);" (call_expression "(*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10)" (parenthesized_expression "(*(code *)pppppppcVar8)" ( (pointer_expression "*(code *)pppppppcVar8" * (cast_expression "(code *)pppppppcVar8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10)" ( identifier , (binary_expression "(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10" (binary_expression "(*(ushort *)(pcVar4 + 2) + uVar23) - 1" (parenthesized_expression "(*(ushort *)(pcVar4 + 2) + uVar23)" ( (binary_expression "*(ushort *)(pcVar4 + 2) + uVar23" (pointer_expression "*(ushort *)(pcVar4 + 2)" * (cast_expression "(ushort *)(pcVar4 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 2)" ( (binary_expression "pcVar4 + 2" identifier + number_literal) )))) + identifier) )) - number_literal) | (binary_expression "uVar23 << 0x10" identifier << number_literal)) ))) ;) (expression_statement "uVar23 = (uint)*(ushort *)pcVar4;" (assignment_expression "uVar23 = (uint)*(ushort *)pcVar4" identifier = (binary_expression "(uint)*(ushort *)pcVar4" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)pcVar4" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) while (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) ;) })) (expression_statement "ppppcVar22 = *unaff_s7;" (assignment_expression "ppppcVar22 = *unaff_s7" identifier = (pointer_expression "*unaff_s7" * identifier)) ;) (expression_statement "pppppppcVar24 = pppppppcStack_dc;" (assignment_expression "pppppppcVar24 = pppppppcStack_dc" identifier = identifier) ;) (expression_statement "ppppcVar28 = ppppcStack_c8;" (assignment_expression "ppppcVar28 = ppppcStack_c8" identifier = identifier) ;) (if_statement "if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }" if (parenthesized_expression "(ppppcVar22 == (code ****)0x0)" ( (binary_expression "ppppcVar22 == (code ****)0x0" identifier == (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n            pppppppcVar24 = (code *******)0x0;\n          }" { (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)) ;) }) (else_clause "else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }" else (compound_statement "{\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }" { (do_statement "do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);" do (compound_statement "{\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            }" { (expression_statement "ppppcVar27 = unaff_s7[1];" (assignment_expression "ppppcVar27 = unaff_s7[1]" identifier = (subscript_expression "unaff_s7[1]" identifier [ number_literal ])) ;) (expression_statement "unaff_s7[1] = unaff_s7[(int)ppppcVar22];" (assignment_expression "unaff_s7[1] = unaff_s7[(int)ppppcVar22]" (subscript_expression "unaff_s7[1]" identifier [ number_literal ]) = (subscript_expression "unaff_s7[(int)ppppcVar22]" identifier [ (cast_expression "(int)ppppcVar22" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;" (assignment_expression "unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff" (subscript_expression "unaff_s7[(int)ppppcVar22]" identifier [ (cast_expression "(int)ppppcVar22" ( (type_descriptor "int" primitive_type) ) identifier) ]) = (cast_expression "(code ****)0xffffffff" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppcVar22 = (code ****)((int)*unaff_s7 - 1);" (assignment_expression "ppppcVar22 = (code ****)((int)*unaff_s7 - 1)" identifier = (cast_expression "(code ****)((int)*unaff_s7 - 1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)*unaff_s7 - 1)" ( (binary_expression "(int)*unaff_s7 - 1" (cast_expression "(int)*unaff_s7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*unaff_s7" * identifier)) - number_literal) )))) ;) (expression_statement "*unaff_s7 = ppppcVar22;" (assignment_expression "*unaff_s7 = ppppcVar22" (pointer_expression "*unaff_s7" * identifier) = identifier) ;) (if_statement "if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }" if (parenthesized_expression "((code ****)0x1 < ppppcVar22)" ( (binary_expression "(code ****)0x1 < ppppcVar22" (cast_expression "(code ****)0x1" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal) < identifier) )) (compound_statement "{\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }" { (expression_statement "ppppcVar29 = unaff_s7[1];" (assignment_expression "ppppcVar29 = unaff_s7[1]" identifier = (subscript_expression "unaff_s7[1]" identifier [ number_literal ])) ;) (expression_statement "ppppcVar26 = (code ****)0x2;" (assignment_expression "ppppcVar26 = (code ****)0x2" identifier = (cast_expression "(code ****)0x2" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppcVar9 = (code ****)0x1;" (assignment_expression "ppppcVar9 = (code ****)0x1" identifier = (cast_expression "(code ****)0x1" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (do_statement "do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);" do (compound_statement "{\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                }" { (expression_statement "pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);" (assignment_expression "pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U)" identifier = (binary_expression "unaff_s7 + (int)((int)ppppcVar26 + 1U)" identifier + (cast_expression "(int)((int)ppppcVar26 + 1U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)ppppcVar26 + 1U)" ( (binary_expression "(int)ppppcVar26 + 1U" (cast_expression "(int)ppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppppcVar17 = *pppppcVar15;" (assignment_expression "ppppcVar17 = *pppppcVar15" identifier = (pointer_expression "*pppppcVar15" * identifier)) ;) (expression_statement "ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);" (assignment_expression "ppppcVar18 = (code ****)((int)ppppcVar26 + 1U)" identifier = (cast_expression "(code ****)((int)ppppcVar26 + 1U)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppcVar26 + 1U)" ( (binary_expression "(int)ppppcVar26 + 1U" (cast_expression "(int)ppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }" if (parenthesized_expression "(unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17)" ( (binary_expression "unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17" (subscript_expression "unaff_s7[(int)ppppcVar9 * 2]" identifier [ (binary_expression "(int)ppppcVar9 * 2" (cast_expression "(int)ppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]) <= identifier) )) (compound_statement "{\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }" { (expression_statement "pppppcVar15 = unaff_s7 + (int)ppppcVar26;" (assignment_expression "pppppcVar15 = unaff_s7 + (int)ppppcVar26" identifier = (binary_expression "unaff_s7 + (int)ppppcVar26" identifier + (cast_expression "(int)ppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "ppppcVar17 = *pppppcVar15;" (assignment_expression "ppppcVar17 = *pppppcVar15" identifier = (pointer_expression "*pppppcVar15" * identifier)) ;) (expression_statement "ppppcVar18 = ppppcVar26;" (assignment_expression "ppppcVar18 = ppppcVar26" identifier = identifier) ;) })) (if_statement "if (ppppcVar29 < ppppcVar17) break;" if (parenthesized_expression "(ppppcVar29 < ppppcVar17)" ( (binary_expression "ppppcVar29 < ppppcVar17" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "unaff_s7[(int)ppppcVar9] = ppppcVar17;" (assignment_expression "unaff_s7[(int)ppppcVar9] = ppppcVar17" (subscript_expression "unaff_s7[(int)ppppcVar9]" identifier [ (cast_expression "(int)ppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) ]) = identifier) ;) (expression_statement "ppppcVar26 = (code ****)((int)ppppcVar18 << 1);" (assignment_expression "ppppcVar26 = (code ****)((int)ppppcVar18 << 1)" identifier = (cast_expression "(code ****)((int)ppppcVar18 << 1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppcVar18 << 1)" ( (binary_expression "(int)ppppcVar18 << 1" (cast_expression "(int)ppppcVar18" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "*pppppcVar15 = ppppcVar29;" (assignment_expression "*pppppcVar15 = ppppcVar29" (pointer_expression "*pppppcVar15" * identifier) = identifier) ;) (expression_statement "ppppcVar22 = *unaff_s7;" (assignment_expression "ppppcVar22 = *unaff_s7" identifier = (pointer_expression "*unaff_s7" * identifier)) ;) (expression_statement "ppppcVar9 = ppppcVar18;" (assignment_expression "ppppcVar9 = ppppcVar18" identifier = identifier) ;) }) while (parenthesized_expression "(ppppcVar26 <= ppppcVar22)" ( (binary_expression "ppppcVar26 <= ppppcVar22" identifier <= identifier) )) ;) })) (expression_statement "pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);" (assignment_expression "pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10)" identifier = (cast_expression "(code *******)((uint)ppppcVar27 >> 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 "*" *)))))))) ) (parenthesized_expression "((uint)ppppcVar27 >> 0x10)" ( (binary_expression "(uint)ppppcVar27 >> 0x10" (cast_expression "(uint)ppppcVar27" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);" (assignment_expression "unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff)" identifier = (cast_expression "(code *******)((uint)ppppcVar28 & 0xffff)" ( (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)ppppcVar28 & 0xffff)" ( (binary_expression "(uint)ppppcVar28 & 0xffff" (cast_expression "(uint)ppppcVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }" if (parenthesized_expression "(pppppppcVar8 <= unaff_s2)" ( (binary_expression "pppppppcVar8 <= unaff_s2" identifier <= identifier) )) (compound_statement "{\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }" { (expression_statement "pppppppcStack_dc = pppppppcVar24;" (assignment_expression "pppppppcStack_dc = pppppppcVar24" identifier = identifier) ;) (expression_statement "FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);" (call_expression "FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21)" identifier (argument_list "(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x4fe0" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (if_statement "if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;" if (parenthesized_expression "(*unaff_s7 != (code ****)0x0)" ( (binary_expression "*unaff_s7 != (code ****)0x0" (pointer_expression "*unaff_s7" * identifier) != (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (goto_statement "goto LAB_000a86bc;" goto statement_identifier ;)) (expression_statement "pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);" (assignment_expression "pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2)" identifier = (cast_expression "(code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2)" ( (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 "((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2)" ( (binary_expression "(code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2" (binary_expression "(code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc" (cast_expression "(code *)((int)ppppppcStack_118 + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppcStack_118 + -1)" ( (binary_expression "(int)ppppppcStack_118 + -1" (cast_expression "(int)ppppppcStack_118" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + (cast_expression "(int)pppppppcStack_dc" ( (type_descriptor "int" primitive_type) ) identifier)) + (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (goto_statement "goto LAB_000a898c;" goto statement_identifier ;) })) (expression_statement "pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);" (assignment_expression "pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2)" identifier = (cast_expression "(code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2)" ( (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 "((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2)" ( (binary_expression "(code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2" (binary_expression "(code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24" (cast_expression "(code *)((int)pppppppcVar8 + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar8 + -1)" ( (binary_expression "(int)pppppppcVar8 + -1" (cast_expression "(int)pppppppcVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier)) + (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "ppppcVar28 = ppppcVar27;" (assignment_expression "ppppcVar28 = ppppcVar27" identifier = identifier) ;) }) while (parenthesized_expression "(ppppcVar22 != (code ****)0x0)" ( (binary_expression "ppppcVar22 != (code ****)0x0" identifier != (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) ;) (expression_statement "ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);" (assignment_expression "ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff)" identifier = (cast_expression "(code ****)((uint)ppppcVar27 & 0xffff)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)ppppcVar27 & 0xffff)" ( (binary_expression "(uint)ppppcVar27 & 0xffff" (cast_expression "(uint)ppppcVar27" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) }))) (expression_statement "unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);" (assignment_expression "unaff_s7 = (code *****)((int)ppppppcStack_118 + -1)" identifier = (cast_expression "(code *****)((int)ppppppcStack_118 + -1)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppcStack_118 + -1)" ( (binary_expression "(int)ppppppcStack_118 + -1" (cast_expression "(int)ppppppcStack_118" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);" (assignment_expression "pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28)" identifier = (cast_expression "(code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28)" ( (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 "((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28)" ( (binary_expression "(code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28" (cast_expression "(code *)((int)unaff_s7 + (int)pppppppcVar24)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + (int)pppppppcVar24)" ( (binary_expression "(int)unaff_s7 + (int)pppppppcVar24" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + (unary_expression "-(int)ppppcVar28" - (cast_expression "(int)ppppcVar28" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (labeled_statement "LAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }" statement_identifier : (if_statement "if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }" if (parenthesized_expression "((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8)" ( (binary_expression "(code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8" (cast_expression "(code *******)(uint)(byte)pcStack_d4[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 "*" *)))))))) ) (cast_expression "(uint)(byte)pcStack_d4[7]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)pcStack_d4[7]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "pcStack_d4[7]" identifier [ number_literal ])))) != identifier) )) (compound_statement "{\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }" { (expression_statement "pppppppcStack_128 = pppppppcVar21;" (assignment_expression "pppppppcStack_128 = pppppppcVar21" identifier = identifier) ;) (expression_statement "FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);" (call_expression "FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8)" identifier (argument_list "(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x4fb8" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) }))) }))) }) (else_clause "else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" else (compound_statement "{\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" { (expression_statement "pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);" (assignment_expression "pppppppcVar16 = (code *******)(ppppppcStack_118 + -1)" identifier = (cast_expression "(code *******)(ppppppcStack_118 + -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 "(ppppppcStack_118 + -1)" ( (binary_expression "ppppppcStack_118 + -1" identifier + number_literal) )))) ;) (expression_statement "iStack_fc = 1;" (assignment_expression "iStack_fc = 1" identifier = number_literal) ;) (expression_statement "iStack_f4 = *(int *)(puStack_120 + -0x7fc4);" (assignment_expression "iStack_f4 = *(int *)(puStack_120 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);" (assignment_expression "pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8)" identifier = (cast_expression "(code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8)" ( (binary_expression "*(int *)(puStack_120 + -0x7d5c) + 0x7bb8" (pointer_expression "*(int *)(puStack_120 + -0x7d5c)" * (cast_expression "(int *)(puStack_120 + -0x7d5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7d5c)" ( (binary_expression "puStack_120 + -0x7d5c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_cc = *(int *)(puStack_120 + -0x7fc4);" (assignment_expression "iStack_cc = *(int *)(puStack_120 + -0x7fc4)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) ))))) ;) (expression_statement "pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);" (assignment_expression "pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738)" identifier = (cast_expression "(code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7de0) + 0x1738)" ( (binary_expression "*(int *)(puStack_120 + -0x7de0) + 0x1738" (pointer_expression "*(int *)(puStack_120 + -0x7de0)" * (cast_expression "(int *)(puStack_120 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7de0)" ( (binary_expression "puStack_120 + -0x7de0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);" (assignment_expression "pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4)" identifier = (cast_expression "(code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4)" ( (binary_expression "*(int *)(puStack_120 + -0x7cf4) + -0x7dd4" (pointer_expression "*(int *)(puStack_120 + -0x7cf4)" * (cast_expression "(int *)(puStack_120 + -0x7cf4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7cf4)" ( (binary_expression "puStack_120 + -0x7cf4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar4 = pcStack_e4;" (assignment_expression "pcVar4 = pcStack_e4" identifier = identifier) ;) (expression_statement "pppppppcStack_f8 = pppppppcVar35;" (assignment_expression "pppppppcStack_f8 = pppppppcVar35" identifier = identifier) ;) (expression_statement "pppppcStack_e8 = unaff_s7;" (assignment_expression "pppppcStack_e8 = unaff_s7" identifier = identifier) ;) (expression_statement "pppppppcStack_d8 = param_3;" (assignment_expression "pppppppcStack_d8 = param_3" identifier = identifier) ;) (expression_statement "pppppppcStack_64 = pppppppcVar21;" (assignment_expression "pppppppcStack_64 = pppppppcVar21" identifier = identifier) ;) (do_statement "do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));" do (compound_statement "{\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        }" { (expression_statement "ppppppcVar20[9] = (code *****)unaff_s2;" (assignment_expression "ppppppcVar20[9] = (code *****)unaff_s2" (subscript_expression "ppppppcVar20[9]" identifier [ number_literal ]) = (cast_expression "(code *****)unaff_s2" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;" (assignment_expression "pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4" identifier = (binary_expression "(code *******)(uint)*(ushort *)pcVar4" (cast_expression "(code *******)(uint)" ( (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)" ( identifier ))) * (cast_expression "(ushort *)pcVar4" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }" if (parenthesized_expression "((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21))" ( (binary_expression "(pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)" (parenthesized_expression "(pppppppcVar21 < pppppppcVar24)" ( (binary_expression "pppppppcVar21 < pppppppcVar24" identifier < identifier) )) || (parenthesized_expression "(pppppppcVar16 < pppppppcVar21)" ( (binary_expression "pppppppcVar16 < pppppppcVar21" identifier < identifier) ))) )) (compound_statement "{\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }" { (expression_statement "pppppppcStack_128 = pppppppcVar16;" (assignment_expression "pppppppcStack_128 = pppppppcVar16" identifier = identifier) ;) (expression_statement "(*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);" (call_expression "(*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24)" ( identifier , (binary_expression "iStack_f4 + -0x504c" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iStack_fc = 0;" (assignment_expression "iStack_fc = 0" identifier = number_literal) ;) (expression_statement "pppppppcVar8 = pppppppcVar21;" (assignment_expression "pppppppcVar8 = pppppppcVar21" identifier = identifier) ;) }) (else_clause "else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }" else (compound_statement "{\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }" { (expression_statement "pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);" (assignment_expression "pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21)" identifier = (cast_expression "(code *)((int)param_2 + (int)pppppppcVar21)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + (int)pppppppcVar21)" ( (binary_expression "(int)param_2 + (int)pppppppcVar21" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar8 = (code *******)&pppppppcStack_b0;" (assignment_expression "pppppppcVar8 = (code *******)&pppppppcStack_b0" identifier = (cast_expression "(code *******)&pppppppcStack_b0" ( (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 "&pppppppcStack_b0" & identifier))) ;) (expression_statement "(**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);" (call_expression "(**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5)" (parenthesized_expression "(**(code **)(pbStack_b4 + 0x50))" ( (pointer_expression "**(code **)(pbStack_b4 + 0x50)" * (pointer_expression "*(code **)(pbStack_b4 + 0x50)" * (cast_expression "(code **)(pbStack_b4 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbStack_b4 + 0x50)" ( (binary_expression "pbStack_b4 + 0x50" identifier + number_literal) ))))) )) (argument_list "(pbStack_b4,pcVar5)" ( identifier , identifier ))) ;) (if_statement "if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }" if (parenthesized_expression "(ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e))" ( (binary_expression "ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)" identifier < (cast_expression "(code ******)((int)pppppppcVar21 + (uint)uStack_9e)" ( (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)pppppppcVar21 + (uint)uStack_9e)" ( (binary_expression "(int)pppppppcVar21 + (uint)uStack_9e" (cast_expression "(int)pppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)uStack_9e" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) )) (compound_statement "{\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }" { (expression_statement "(*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);" (call_expression "(*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x502c" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iStack_fc = 0;" (assignment_expression "iStack_fc = 0" identifier = number_literal) ;) }) (else_clause "else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }" else (compound_statement "{\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }" { (if_statement "if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }" if (parenthesized_expression "(pbStack_b4[2] != 0)" ( (binary_expression "pbStack_b4[2] != 0" (subscript_expression "pbStack_b4[2]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }" { (if_statement "if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }" if (parenthesized_expression "(iStack_104 == 0)" ( (binary_expression "iStack_104 == 0" identifier == number_literal) )) (compound_statement "{\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }" if (parenthesized_expression "(((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54))))" ( (binary_expression "((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))" (parenthesized_expression "((int)pppppppcStack_b0 < (int)local_58)" ( (binary_expression "(int)pppppppcStack_b0 < (int)local_58" (cast_expression "(int)pppppppcStack_b0" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))" ( (parenthesized_expression "(local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54))" ( (binary_expression "local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)" (binary_expression "local_58 == pppppppcStack_b0" identifier == identifier) && (parenthesized_expression "(ppppppcStack_ac < ppppppcStack_54)" ( (binary_expression "ppppppcStack_ac < ppppppcStack_54" identifier < identifier) ))) )) ))) )) (compound_statement "{\nLAB_000a89e0:\n                    bVar2 = false;\n                  }" { (labeled_statement "LAB_000a89e0:\n                    bVar2 = false;" statement_identifier : (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;)) })) }) (else_clause "else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }" else (compound_statement "{\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }" if (parenthesized_expression "((int)pppppppcStack_b0 <= (int)local_58)" ( (binary_expression "(int)pppppppcStack_b0 <= (int)local_58" (cast_expression "(int)pppppppcStack_b0" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }" { (if_statement "if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;" if (parenthesized_expression "(pppppppcStack_b0 != local_58)" ( (binary_expression "pppppppcStack_b0 != local_58" identifier != identifier) )) (goto_statement "goto LAB_000a89e0;" goto statement_identifier ;)) (if_statement "if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }" if (parenthesized_expression "(ppppppcStack_ac <= ppppppcStack_54)" ( (binary_expression "ppppppcStack_ac <= ppppppcStack_54" identifier <= identifier) )) (compound_statement "{\n                      bVar2 = false;\n                    }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) })) })) }))) (if_statement "if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }" { (expression_statement "(*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);" (call_expression "(*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x5014" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" identifier = number_literal) ;) (expression_statement "local_58 = pppppppcStack_b0;" (assignment_expression "local_58 = pppppppcStack_b0" identifier = identifier) ;) (expression_statement "ppppppcStack_54 = ppppppcStack_ac;" (assignment_expression "ppppppcStack_54 = ppppppcStack_ac" identifier = identifier) ;) })) (if_statement "if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }" if (parenthesized_expression "(uStack_a0 < uStack_a4)" ( (binary_expression "uStack_a0 < uStack_a4" identifier < identifier) )) (compound_statement "{\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }" { (expression_statement "uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));" (assignment_expression "uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4))" identifier = (pointer_expression "*(undefined4 *)(pcVar5 + (uStack_9e - 4))" * (cast_expression "(undefined4 *)(pcVar5 + (uStack_9e - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + (uStack_9e - 4))" ( (binary_expression "pcVar5 + (uStack_9e - 4)" identifier + (parenthesized_expression "(uStack_9e - 4)" ( (binary_expression "uStack_9e - 4" identifier - number_literal) ))) ))))) ;) (if_statement "if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }" if (parenthesized_expression "(pppppppcVar16 == (code *******)0x0)" ( (binary_expression "pppppppcVar16 == (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                  trap(7);\n                }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;" (assignment_expression "uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16" identifier = (binary_expression "(uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16" (call_expression "(uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0))" ( (binary_expression "(int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)" (cast_expression "(int)ppppppcStack_118" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((uStack_a4 - 5) - (uint)uStack_a0)" ( (binary_expression "(uStack_a4 - 5) - (uint)uStack_a0" (parenthesized_expression "(uStack_a4 - 5)" ( (binary_expression "uStack_a4 - 5" identifier - number_literal) )) - (cast_expression "(uint)uStack_a0" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ))) / (cast_expression "(uint)pppppppcVar16" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }" if (parenthesized_expression "(*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_f8 + 0x11)" * (cast_expression "(code *)((int)pppppppcStack_f8 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_f8 + 0x11)" ( (binary_expression "(int)pppppppcStack_f8 + 0x11" (cast_expression "(int)pppppppcStack_f8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }" { (expression_statement "uStack_c0 = uVar42;" (assignment_expression "uStack_c0 = uVar42" identifier = identifier) ;) (expression_statement "uStack_bc = uVar23;" (assignment_expression "uStack_bc = uVar23" identifier = identifier) ;) (expression_statement "FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);" (call_expression "FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64)" identifier (argument_list "(ppppppcVar20,uVar42,3,pppppppcStack_64)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar23 = uStack_bc;" (assignment_expression "uVar23 = uStack_bc" identifier = identifier) ;) (expression_statement "uVar42 = uStack_c0;" (assignment_expression "uVar42 = uStack_c0" identifier = identifier) ;) })) (expression_statement "FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);" (call_expression "FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23)" identifier (argument_list "(ppppppcVar20,0,uVar42,uVar23)" ( identifier , number_literal , identifier , identifier ))) ;) })) (if_statement "if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }" if (parenthesized_expression "(pbStack_b4[8] == 0)" ( (binary_expression "pbStack_b4[8] == 0" (subscript_expression "pbStack_b4[8]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }" { (expression_statement "uVar42 = *(undefined4 *)pcVar5;" (assignment_expression "uVar42 = *(undefined4 *)pcVar5" identifier = (pointer_expression "*(undefined4 *)pcVar5" * (cast_expression "(undefined4 *)pcVar5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }" if (parenthesized_expression "(*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_f8 + 0x11)" * (cast_expression "(code *)((int)pppppppcStack_f8 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcStack_f8 + 0x11)" ( (binary_expression "(int)pppppppcStack_f8 + 0x11" (cast_expression "(int)pppppppcStack_f8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }" { (expression_statement "FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);" (call_expression "FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64)" identifier (argument_list "(ppppppcVar20,uVar42,5,pppppppcStack_64)" ( identifier , identifier , number_literal , identifier ))) ;) })) (expression_statement "pppppppcVar8 = (code *******)&local_58;" (assignment_expression "pppppppcVar8 = (code *******)&local_58" identifier = (cast_expression "(code *******)&local_58" ( (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_58" & identifier))) ;) (expression_statement "ppppppcStack_124 = ppppppcStack_54;" (assignment_expression "ppppppcStack_124 = ppppppcStack_54" identifier = identifier) ;) (expression_statement "pppppppcStack_128 = local_58;" (assignment_expression "pppppppcStack_128 = local_58" identifier = identifier) ;) (expression_statement "iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);" (assignment_expression "iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42)" identifier = (call_expression "(*pcStack_e0)(ppppppcVar20,uVar42)" (parenthesized_expression "(*pcStack_e0)" ( (pointer_expression "*pcStack_e0" * identifier) )) (argument_list "(ppppppcVar20,uVar42)" ( identifier , identifier )))) ;) (if_statement "if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }" if (parenthesized_expression "(iVar6 == iStack_108)" ( (binary_expression "iVar6 == iStack_108" identifier == identifier) )) (compound_statement "{\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }" { (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" identifier = number_literal) ;) (expression_statement "iStack_108 = iVar6;" (assignment_expression "iStack_108 = iVar6" identifier = identifier) ;) }) (else_clause "else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }" else (compound_statement "{\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }" { (expression_statement "iStack_108 = iVar6;" (assignment_expression "iStack_108 = iVar6" identifier = identifier) ;) (expression_statement "(*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);" (call_expression "(*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar20,iStack_cc + -0x4ffc)" ( identifier , (binary_expression "iStack_cc + -0x4ffc" identifier + number_literal) ))) ;) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }" else (compound_statement "{\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }" { (expression_statement "pppppppcVar8 = (code *******)(uStack_9e - 1);" (assignment_expression "pppppppcVar8 = (code *******)(uStack_9e - 1)" identifier = (cast_expression "(code *******)(uStack_9e - 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 "(uStack_9e - 1)" ( (binary_expression "uStack_9e - 1" identifier - number_literal) )))) ;) (expression_statement "(*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);" (call_expression "(*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10)" (parenthesized_expression "(*pcStack_d0)" ( (pointer_expression "*pcStack_d0" * identifier) )) (argument_list "(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10)" ( identifier , (binary_expression "(uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10" (call_expression "(uint)((int)pppppppcVar8 + (int)pppppppcVar21)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppppcVar8 + (int)pppppppcVar21)" ( (binary_expression "(int)pppppppcVar8 + (int)pppppppcVar21" (cast_expression "(int)pppppppcVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ))) | (binary_expression "(int)pppppppcVar21 << 0x10" (cast_expression "(int)pppppppcVar21" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal)) ))) ;) }))) }))) }))) (expression_statement "unaff_s2 = (code *******)((int)unaff_s2 + -1);" (assignment_expression "unaff_s2 = (code *******)((int)unaff_s2 + -1)" identifier = (cast_expression "(code *******)((int)unaff_s2 + -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)unaff_s2 + -1)" ( (binary_expression "(int)unaff_s2 + -1" (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0))" ( (binary_expression "(unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0)" (parenthesized_expression "(unaff_s2 != (code *******)0xffffffff)" ( (binary_expression "unaff_s2 != (code *******)0xffffffff" identifier != (cast_expression "(code *******)0xffffffff" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) && (parenthesized_expression "(pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0)" ( (comma_expression "pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0" (assignment_expression "pcVar4 = pcVar4 + -2" identifier = (binary_expression "pcVar4 + -2" identifier + number_literal)) , (binary_expression "ppppppcVar20[4] != (code *****)0x0" (subscript_expression "ppppppcVar20[4]" identifier [ number_literal ]) != (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal))) ))) )) ;) (expression_statement "ppppcVar34 = (code ****)(iStack_108 + 1);" (assignment_expression "ppppcVar34 = (code ****)(iStack_108 + 1)" identifier = (cast_expression "(code ****)(iStack_108 + 1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(iStack_108 + 1)" ( (binary_expression "iStack_108 + 1" identifier + number_literal) )))) ;) (expression_statement "pppppppcStack_d8[1] = ppppppcStack_54;" (assignment_expression "pppppppcStack_d8[1] = ppppppcStack_54" (subscript_expression "pppppppcStack_d8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*pppppppcStack_d8 = (code ******)local_58;" (assignment_expression "*pppppppcStack_d8 = (code ******)local_58" (pointer_expression "*pppppppcStack_d8" * identifier) = (cast_expression "(code ******)local_58" ( (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 "ppppppcVar20[7] = (code *****)0x0;" (assignment_expression "ppppppcVar20[7] = (code *****)0x0" (subscript_expression "ppppppcVar20[7]" identifier [ number_literal ]) = (cast_expression "(code *****)0x0" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "pppppppcVar21 = pppppppcStack_64;" (assignment_expression "pppppppcVar21 = pppppppcStack_64" identifier = identifier) ;) (expression_statement "pppppppcVar35 = pppppppcVar24;" (assignment_expression "pppppppcVar35 = pppppppcVar24" identifier = identifier) ;) (expression_statement "unaff_s5 = pppppppcStack_d8;" (assignment_expression "unaff_s5 = pppppppcStack_d8" identifier = identifier) ;) (expression_statement "unaff_s7 = pppppcStack_e8;" (assignment_expression "unaff_s7 = pppppcStack_e8" identifier = identifier) ;) (if_statement "if (iStack_fc != 0) goto LAB_000a878c;" if (parenthesized_expression "(iStack_fc != 0)" ( (binary_expression "iStack_fc != 0" identifier != number_literal) )) (goto_statement "goto LAB_000a878c;" goto statement_identifier ;)) (expression_statement "*pbStack_b4 = (byte)uStack_f0;" (assignment_expression "*pbStack_b4 = (byte)uStack_f0" (pointer_expression "*pbStack_b4" * identifier) = (cast_expression "(byte)uStack_f0" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }))) }) (else_clause "else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }" else (compound_statement "{\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }" { (expression_statement "iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;" (assignment_expression "iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4" identifier = (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x50d4" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" * (cast_expression "(int *)(puStack_120 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fc4)" ( (binary_expression "puStack_120 + -0x7fc4" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);" statement_identifier : (expression_statement "FUN_000a7bb8(ppppppcVar20,iVar6);" (call_expression "FUN_000a7bb8(ppppppcVar20,iVar6)" identifier (argument_list "(ppppppcVar20,iVar6)" ( identifier , identifier ))) ;)) (expression_statement "ppppcVar34 = (code ****)0x0;" (assignment_expression "ppppcVar34 = (code ****)0x0" identifier = (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) }))) (labeled_statement "LAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" statement_identifier : (if_statement "if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" if (parenthesized_expression "(pbStack_b4 != (byte *)0x0)" ( (binary_expression "pbStack_b4 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" { (expression_statement "(*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));" (call_expression "(*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48))" (parenthesized_expression "(*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))" ( (pointer_expression "*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8)" * (cast_expression "(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7de0) + 0xee8)" ( (binary_expression "*(int *)(puStack_120 + -0x7de0) + 0xee8" (pointer_expression "*(int *)(puStack_120 + -0x7de0)" * (cast_expression "(int *)(puStack_120 + -0x7de0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7de0)" ( (binary_expression "puStack_120 + -0x7de0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*(undefined4 *)(pbStack_b4 + 0x48))" ( (pointer_expression "*(undefined4 *)(pbStack_b4 + 0x48)" * (cast_expression "(undefined4 *)(pbStack_b4 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbStack_b4 + 0x48)" ( (binary_expression "pbStack_b4 + 0x48" identifier + number_literal) )))) ))) ;) }))) (expression_statement "ppppppcVar20[7] = pppppcStack_114;" (assignment_expression "ppppppcVar20[7] = pppppcStack_114" (subscript_expression "ppppppcVar20[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar20[8] = pppppcStack_110;" (assignment_expression "ppppppcVar20[8] = pppppcStack_110" (subscript_expression "ppppppcVar20[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar20[9] = pppppcStack_10c;" (assignment_expression "ppppppcVar20[9] = pppppcStack_10c" (subscript_expression "ppppppcVar20[9]" identifier [ number_literal ]) = identifier) ;) }))) (if_statement "if (ppppppcStack_94 == (code ******)*piVar30) {\n    return ppppcVar34;\n  }" if (parenthesized_expression "(ppppppcStack_94 == (code ******)*piVar30)" ( (binary_expression "ppppppcStack_94 == (code ******)*piVar30" identifier == (cast_expression "(code ******)*piVar30" ( (type_descriptor "code ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*piVar30" * identifier))) )) (compound_statement "{\n    return ppppcVar34;\n  }" { (return_statement "return ppppcVar34;" return identifier ;) })) (expression_statement "pcVar4 = *(code **)(puStack_120 + -0x7b28);" (assignment_expression "pcVar4 = *(code **)(puStack_120 + -0x7b28)" identifier = (pointer_expression "*(code **)(puStack_120 + -0x7b28)" * (cast_expression "(code **)(puStack_120 + -0x7b28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_120 + -0x7b28)" ( (binary_expression "puStack_120 + -0x7b28" identifier + number_literal) ))))) ;) (expression_statement "uVar42 = 0xa8b38;" (assignment_expression "uVar42 = 0xa8b38" identifier = number_literal) ;) (expression_statement "ppppppcVar19 = ppppppcStack_94;" (assignment_expression "ppppppcVar19 = ppppppcStack_94" identifier = identifier) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (expression_statement "piVar25 = (int *)&DAT_000001f8;" (assignment_expression "piVar25 = (int *)&DAT_000001f8" identifier = (cast_expression "(int *)&DAT_000001f8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001f8" & identifier))) ;) (expression_statement "piVar37 = *(int **)(pcVar4 + 0xe82ec);" (assignment_expression "piVar37 = *(int **)(pcVar4 + 0xe82ec)" identifier = (pointer_expression "*(int **)(pcVar4 + 0xe82ec)" * (cast_expression "(int **)(pcVar4 + 0xe82ec)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe82ec)" ( (binary_expression "pcVar4 + 0xe82ec" identifier + number_literal) ))))) ;) (expression_statement "uStack_3b0 = 0;" (assignment_expression "uStack_3b0 = 0" identifier = number_literal) ;) (expression_statement "uStack_3ac = 0;" (assignment_expression "uStack_3ac = 0" identifier = number_literal) ;) (expression_statement "uStack_3a8 = 0;" (assignment_expression "uStack_3a8 = 0" identifier = number_literal) ;) (expression_statement "uStack_3a4 = 0;" (assignment_expression "uStack_3a4 = 0" identifier = number_literal) ;) (expression_statement "uStack_3a0 = 0;" (assignment_expression "uStack_3a0 = 0" identifier = number_literal) ;) (expression_statement "uStack_39c = 0;" (assignment_expression "uStack_39c = 0" identifier = number_literal) ;) (expression_statement "iStack_398 = 0;" (assignment_expression "iStack_398 = 0" identifier = number_literal) ;) (expression_statement "uStack_394 = 0;" (assignment_expression "uStack_394 = 0" identifier = number_literal) ;) (expression_statement "ppppcStack_164 = (code ****)*piVar37;" (assignment_expression "ppppcStack_164 = (code ****)*piVar37" identifier = (cast_expression "(code ****)*piVar37" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*piVar37" * identifier))) ;) (expression_statement "piStack_160 = piVar30;" (assignment_expression "piStack_160 = piVar30" identifier = identifier) ;) (expression_statement "pppppppcStack_15c = pppppppcVar21;" (assignment_expression "pppppppcStack_15c = pppppppcVar21" identifier = identifier) ;) (expression_statement "pppppppcStack_158 = unaff_s2;" (assignment_expression "pppppppcStack_158 = unaff_s2" identifier = identifier) ;) (expression_statement "ppppcStack_154 = ppppcVar34;" (assignment_expression "ppppcStack_154 = ppppcVar34" identifier = identifier) ;) (expression_statement "pppppppcStack_150 = pppppppcVar35;" (assignment_expression "pppppppcStack_150 = pppppppcVar35" identifier = identifier) ;) (expression_statement "pppppppcStack_14c = unaff_s5;" (assignment_expression "pppppppcStack_14c = unaff_s5" identifier = identifier) ;) (expression_statement "pppppppcStack_148 = param_2;" (assignment_expression "pppppppcStack_148 = param_2" identifier = identifier) ;) (expression_statement "pppppcStack_144 = unaff_s7;" (assignment_expression "pppppcStack_144 = unaff_s7" identifier = identifier) ;) (expression_statement "ppppppcStack_140 = ppppppcVar20;" (assignment_expression "ppppppcStack_140 = ppppppcVar20" identifier = identifier) ;) (expression_statement "uStack_13c = uVar42;" (assignment_expression "uStack_13c = uVar42" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar4 + 0xe8220))(auStack_360);" (call_expression "(**(code **)(pcVar4 + 0xe8220))(auStack_360)" (parenthesized_expression "(**(code **)(pcVar4 + 0xe8220))" ( (pointer_expression "**(code **)(pcVar4 + 0xe8220)" * (pointer_expression "*(code **)(pcVar4 + 0xe8220)" * (cast_expression "(code **)(pcVar4 + 0xe8220)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe8220)" ( (binary_expression "pcVar4 + 0xe8220" identifier + number_literal) ))))) )) (argument_list "(auStack_360)" ( identifier ))) ;) (expression_statement "ppppppcVar20 = *pppppppcVar8;" (assignment_expression "ppppppcVar20 = *pppppppcVar8" identifier = (pointer_expression "*pppppppcVar8" * identifier)) ;) (expression_statement "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))();" (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))" ( (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68)" * (cast_expression "(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe8070) + 0x7f68)" ( (binary_expression "*(int *)(pcVar4 + 0xe8070) + 0x7f68" (pointer_expression "*(int *)(pcVar4 + 0xe8070)" * (cast_expression "(int *)(pcVar4 + 0xe8070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe8070)" ( (binary_expression "pcVar4 + 0xe8070" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "cStack_34c = (char)extraout_v1;" (assignment_expression "cStack_34c = (char)extraout_v1" identifier = (cast_expression "(char)extraout_v1" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);\n    uVar23 = 1;\n    ppppppcVar20 = pppppppcVar8[1];\n    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();\n    if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }\n  }" if (parenthesized_expression "((extraout_v1 & 0xff) - 1 < 5)" ( (binary_expression "(extraout_v1 & 0xff) - 1 < 5" (binary_expression "(extraout_v1 & 0xff) - 1" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) - number_literal) < number_literal) )) (compound_statement "{\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);\n    uVar23 = 1;\n    ppppppcVar20 = pppppppcVar8[1];\n    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();\n    if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }\n  }" { (expression_statement "bStack_349 = ((char)extraout_v1 + '\x01') * '\b';" (assignment_expression "bStack_349 = ((char)extraout_v1 + '\x01') * '\b'" identifier = (binary_expression "((char)extraout_v1 + '\x01') * '\b'" (parenthesized_expression "((char)extraout_v1 + '\x01')" ( (binary_expression "(char)extraout_v1 + '\x01'" (cast_expression "(char)extraout_v1" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) )) * (char_literal "'\b'" ' escape_sequence '))) ;) (expression_statement "bStack_34b = (byte)((extraout_v1 & 0xff) << 1);" (assignment_expression "bStack_34b = (byte)((extraout_v1 & 0xff) << 1)" identifier = (call_expression "(byte)((extraout_v1 & 0xff) << 1)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((extraout_v1 & 0xff) << 1)" ( (binary_expression "(extraout_v1 & 0xff) << 1" (parenthesized_expression "(extraout_v1 & 0xff)" ( (binary_expression "extraout_v1 & 0xff" identifier & number_literal) )) << number_literal) )))) ;) (expression_statement "iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);" (assignment_expression "iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1])" identifier = (call_expression "(**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1])" (parenthesized_expression "(**(code **)(pcVar4 + 0xe7e84))" ( (pointer_expression "**(code **)(pcVar4 + 0xe7e84)" * (pointer_expression "*(code **)(pcVar4 + 0xe7e84)" * (cast_expression "(code **)(pcVar4 + 0xe7e84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe7e84)" ( (binary_expression "pcVar4 + 0xe7e84" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar8[1])" ( (subscript_expression "pppppppcVar8[1]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" identifier = number_literal) ;) (expression_statement "ppppppcVar20 = pppppppcVar8[1];" (assignment_expression "ppppppcVar20 = pppppppcVar8[1]" identifier = (subscript_expression "pppppppcVar8[1]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();" (assignment_expression "iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))()" identifier = (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))" ( (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88)" * (cast_expression "(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe8088) + 0x6c88)" ( (binary_expression "*(int *)(pcVar4 + 0xe8088) + 0x6c88" (pointer_expression "*(int *)(pcVar4 + 0xe8088)" * (cast_expression "(int *)(pcVar4 + 0xe8088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe8088)" ( (binary_expression "pcVar4 + 0xe8088" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (if_statement "if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }" if (parenthesized_expression "(3 < iVar6)" ( (binary_expression "3 < iVar6" number_literal < identifier) )) (compound_statement "{\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }" { (expression_statement "uVar23 = (uint)bStack_349;" (assignment_expression "uVar23 = (uint)bStack_349" identifier = (cast_expression "(uint)bStack_349" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);" (assignment_expression "ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3)" identifier = (binary_expression "(code ******)(uint)*(byte *)(iStack_398 + 3)" (cast_expression "(code ******)(uint)" ( (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)" ( identifier ))) * (cast_expression "(byte *)(iStack_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 3)" ( (binary_expression "iStack_398 + 3" identifier + number_literal) ))))) ;) (if_statement "if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }" if (parenthesized_expression "((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6)" ( (binary_expression "(int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6" (cast_expression "(int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23)" ( (binary_expression "(int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23" (cast_expression "(int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40)" ( (binary_expression "(code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40" (binary_expression "(code ******)(uint)*(byte *)(iStack_398 + 3)" (cast_expression "(code ******)(uint)" ( (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)" ( identifier ))) * (cast_expression "(byte *)(iStack_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 3)" ( (binary_expression "iStack_398 + 3" identifier + number_literal) )))) + (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x40" (binary_expression "(uint)*(byte *)(iStack_398 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 2)" ( (binary_expression "iStack_398 + 2" identifier + number_literal) )))) * number_literal)) ))) * identifier) ))) <= identifier) )) (compound_statement "{\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }" { (expression_statement "iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);" (assignment_expression "iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0)" identifier = (call_expression "(**(code **)(pcVar4 + 0xe80f8))(0)" (parenthesized_expression "(**(code **)(pcVar4 + 0xe80f8))" ( (pointer_expression "**(code **)(pcVar4 + 0xe80f8)" * (pointer_expression "*(code **)(pcVar4 + 0xe80f8)" * (cast_expression "(code **)(pcVar4 + 0xe80f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe80f8)" ( (binary_expression "pcVar4 + 0xe80f8" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (if_statement "if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }" if (parenthesized_expression "((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0)" ( (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0" (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)" (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100" (binary_expression "(uint)*(byte *)(iStack_398 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 2)" ( (binary_expression "iStack_398 + 2" identifier + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)(iStack_398 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 3)" ( (binary_expression "iStack_398 + 3" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }" { (expression_statement "iVar10 = *(int *)(pcVar4 + 0xe7e20);" (assignment_expression "iVar10 = *(int *)(pcVar4 + 0xe7e20)" identifier = (pointer_expression "*(int *)(pcVar4 + 0xe7e20)" * (cast_expression "(int *)(pcVar4 + 0xe7e20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7e20)" ( (binary_expression "pcVar4 + 0xe7e20" identifier + number_literal) ))))) ;) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" identifier = number_literal) ;) (expression_statement "iVar11 = *(int *)(pcVar4 + 0xe806c);" (assignment_expression "iVar11 = *(int *)(pcVar4 + 0xe806c)" identifier = (pointer_expression "*(int *)(pcVar4 + 0xe806c)" * (cast_expression "(int *)(pcVar4 + 0xe806c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe806c)" ( (binary_expression "pcVar4 + 0xe806c" identifier + number_literal) ))))) ;) (expression_statement "pcVar5 = *(code **)(pcVar4 + 0xe80c0);" (assignment_expression "pcVar5 = *(code **)(pcVar4 + 0xe80c0)" identifier = (pointer_expression "*(code **)(pcVar4 + 0xe80c0)" * (cast_expression "(code **)(pcVar4 + 0xe80c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe80c0)" ( (binary_expression "pcVar4 + 0xe80c0" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);" (call_expression "(*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390)" (parenthesized_expression "(*(code *)(iVar11 + 0x17dc))" ( (pointer_expression "*(code *)(iVar11 + 0x17dc)" * (cast_expression "(code *)(iVar11 + 0x17dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x17dc)" ( (binary_expression "iVar11 + 0x17dc" identifier + number_literal) )))) )) (argument_list "(auStack_360,&uStack_3b0,0,&uStack_390)" ( identifier , (pointer_expression "&uStack_3b0" & identifier) , number_literal , (pointer_expression "&uStack_390" & identifier) ))) ;) (expression_statement "iVar12 = *(int *)(pcVar4 + 0xe7e24);" (assignment_expression "iVar12 = *(int *)(pcVar4 + 0xe7e24)" identifier = (pointer_expression "*(int *)(pcVar4 + 0xe7e24)" * (cast_expression "(int *)(pcVar4 + 0xe7e24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7e24)" ( (binary_expression "pcVar4 + 0xe7e24" identifier + number_literal) ))))) ;) (expression_statement "iVar31 = *(int *)(pcVar4 + 0xe7e24);" (assignment_expression "iVar31 = *(int *)(pcVar4 + 0xe7e24)" identifier = (pointer_expression "*(int *)(pcVar4 + 0xe7e24)" * (cast_expression "(int *)(pcVar4 + 0xe7e24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7e24)" ( (binary_expression "pcVar4 + 0xe7e24" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(pcVar4 + 0xe7e24);" (assignment_expression "iVar13 = *(int *)(pcVar4 + 0xe7e24)" identifier = (pointer_expression "*(int *)(pcVar4 + 0xe7e24)" * (cast_expression "(int *)(pcVar4 + 0xe7e24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7e24)" ( (binary_expression "pcVar4 + 0xe7e24" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }" { (expression_statement "sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);" (call_expression "sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c)" identifier (argument_list "(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c)" ( identifier , (binary_expression "iVar12 + -0x4f84" identifier + number_literal) , identifier , identifier ))) ;) (if_statement "if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }" if (parenthesized_expression "(bStack_34b != 0)" ( (binary_expression "bStack_34b != 0" identifier != number_literal) )) (compound_statement "{\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }" { (expression_statement "pfVar38 = afStack_388;" (assignment_expression "pfVar38 = afStack_388" identifier = identifier) ;) (expression_statement "iVar41 = 0;" (assignment_expression "iVar41 = 0" identifier = number_literal) ;) (do_statement "do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);" do (compound_statement "{\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              }" { (expression_statement "fVar43 = *pfVar38;" (assignment_expression "fVar43 = *pfVar38" identifier = (pointer_expression "*pfVar38" * identifier)) ;) (expression_statement "iVar41 = iVar41 + 1;" (assignment_expression "iVar41 = iVar41 + 1" identifier = (binary_expression "iVar41 + 1" identifier + number_literal)) ;) (expression_statement "pfVar38 = pfVar38 + 1;" (assignment_expression "pfVar38 = pfVar38 + 1" identifier = (binary_expression "pfVar38 + 1" identifier + number_literal)) ;) (expression_statement "sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));" (call_expression "sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0))" identifier (argument_list "(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0))" ( identifier , (binary_expression "iVar31 + -0x4f7c" identifier + number_literal) , (cast_expression "(int)((ulonglong)(double)fVar43 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)fVar43 >> 0x20)" ( (binary_expression "(ulonglong)(double)fVar43 >> 0x20" (cast_expression "(ulonglong)(double)fVar43" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)fVar43" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) , (call_expression "SUB84((double)fVar43,0)" identifier (argument_list "((double)fVar43,0)" ( (cast_expression "(double)fVar43" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) ))) ;) }) while (parenthesized_expression "(iVar41 < (int)(uint)bStack_34b)" ( (binary_expression "iVar41 < (int)(uint)bStack_34b" identifier < (cast_expression "(int)(uint)bStack_34b" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)bStack_34b" ( (type_descriptor "uint" type_identifier) ) identifier))) )) ;) })) (expression_statement "iVar36 = iVar36 + 1;" (assignment_expression "iVar36 = iVar36 + 1" identifier = (binary_expression "iVar36 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar5)(iVar6,iVar10 + 0x1300,1);" (call_expression "(*pcVar5)(iVar6,iVar10 + 0x1300,1)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(iVar6,iVar10 + 0x1300,1)" ( identifier , (binary_expression "iVar10 + 0x1300" identifier + number_literal) , number_literal ))) ;) (if_statement "if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;" if (parenthesized_expression "((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36)" ( (binary_expression "(int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36" (cast_expression "(int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3))" ( (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)" (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100" (binary_expression "(uint)*(byte *)(iStack_398 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 2)" ( (binary_expression "iStack_398 + 2" identifier + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)(iStack_398 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStack_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_398 + 3)" ( (binary_expression "iStack_398 + 3" identifier + number_literal) ))))) ))) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "(*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);" (call_expression "(*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390)" (parenthesized_expression "(*(code *)(iVar11 + 0x17dc))" ( (pointer_expression "*(code *)(iVar11 + 0x17dc)" * (cast_expression "(code *)(iVar11 + 0x17dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x17dc)" ( (binary_expression "iVar11 + 0x17dc" identifier + number_literal) )))) )) (argument_list "(auStack_360,&uStack_3b0,iVar36,&uStack_390)" ( identifier , (pointer_expression "&uStack_3b0" & identifier) , identifier , (pointer_expression "&uStack_390" & identifier) ))) ;) (expression_statement "(*pcVar5)(iVar6,iVar13 + -0x4854,1);" (call_expression "(*pcVar5)(iVar6,iVar13 + -0x4854,1)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(iVar6,iVar13 + -0x4854,1)" ( identifier , (binary_expression "iVar13 + -0x4854" identifier + number_literal) , number_literal ))) ;) })) })) (if_statement "if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }" { (expression_statement "uVar23 = 7;" (assignment_expression "uVar23 = 7" identifier = number_literal) ;) (expression_statement "piVar25 = (int *)0x0;" (assignment_expression "piVar25 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }" else (compound_statement "{\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }" { (expression_statement "uVar23 = (uint)*(byte *)(iVar6 + 0x14);" (assignment_expression "uVar23 = (uint)*(byte *)(iVar6 + 0x14)" identifier = (binary_expression "(uint)*(byte *)(iVar6 + 0x14)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iVar6 + 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }" if (parenthesized_expression "(iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98)" ( (binary_expression "iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98" identifier == (binary_expression "*(int *)(pcVar4 + 0xe7e10) + -0xb98" (pointer_expression "*(int *)(pcVar4 + 0xe7e10)" * (cast_expression "(int *)(pcVar4 + 0xe7e10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7e10)" ( (binary_expression "pcVar4 + 0xe7e10" identifier + number_literal) )))) + number_literal)) )) (compound_statement "{\n            piVar25 = (int *)0x0;\n          }" { (expression_statement "piVar25 = (int *)0x0;" (assignment_expression "piVar25 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }" else (compound_statement "{\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }" { (expression_statement "piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);" (assignment_expression "piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6)" identifier = (cast_expression "(int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6)" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))" ( (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48)" * (cast_expression "(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe8070) + 0x1f48)" ( (binary_expression "*(int *)(pcVar4 + 0xe8070) + 0x1f48" (pointer_expression "*(int *)(pcVar4 + 0xe8070)" * (cast_expression "(int *)(pcVar4 + 0xe8070)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe8070)" ( (binary_expression "pcVar4 + 0xe8070" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar6)" ( identifier ))))) ;) }))) }))) (expression_statement "(*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));" (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34))" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))" ( (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0)" * (cast_expression "(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe8088) + -0x13c0)" ( (binary_expression "*(int *)(pcVar4 + 0xe8088) + -0x13c0" (pointer_expression "*(int *)(pcVar4 + 0xe8088)" * (cast_expression "(int *)(pcVar4 + 0xe8088)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe8088)" ( (binary_expression "pcVar4 + 0xe8088" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34))" ( identifier , (binary_expression "ppppppcVar19 + 5" identifier + number_literal) , identifier , number_literal , number_literal , (pointer_expression "*(undefined4 *)(pcVar4 + 0xe7e34)" * (cast_expression "(undefined4 *)(pcVar4 + 0xe7e34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7e34)" ( (binary_expression "pcVar4 + 0xe7e34" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(pcVar4 + 0xe7e9c))();" (call_expression "(**(code **)(pcVar4 + 0xe7e9c))()" (parenthesized_expression "(**(code **)(pcVar4 + 0xe7e9c))" ( (pointer_expression "**(code **)(pcVar4 + 0xe7e9c)" * (pointer_expression "*(code **)(pcVar4 + 0xe7e9c)" * (cast_expression "(code **)(pcVar4 + 0xe7e9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe7e9c)" ( (binary_expression "pcVar4 + 0xe7e9c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "ppppppcVar20 = ppppppcVar19;" (assignment_expression "ppppppcVar20 = ppppppcVar19" identifier = identifier) ;) })) })) })) (expression_statement "ppppcVar34 = (code ****)*piVar37;" (assignment_expression "ppppcVar34 = (code ****)*piVar37" identifier = (cast_expression "(code ****)*piVar37" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (pointer_expression "*piVar37" * identifier))) ;) (if_statement "if (ppppcStack_164 == ppppcVar34) {\n    return ppppcVar34;\n  }" if (parenthesized_expression "(ppppcStack_164 == ppppcVar34)" ( (binary_expression "ppppcStack_164 == ppppcVar34" identifier == identifier) )) (compound_statement "{\n    return ppppcVar34;\n  }" { (return_statement "return ppppcVar34;" return identifier ;) })) (expression_statement "pcVar4 = *(code **)(pcVar4 + 0xe82c0);" (assignment_expression "pcVar4 = *(code **)(pcVar4 + 0xe82c0)" identifier = (pointer_expression "*(code **)(pcVar4 + 0xe82c0)" * (cast_expression "(code **)(pcVar4 + 0xe82c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe82c0)" ( (binary_expression "pcVar4 + 0xe82c0" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5) {\n    return (code ****)0x5;\n  }" if (parenthesized_expression "(*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5)" ( (binary_expression "*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5" (pointer_expression "*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c)" * (cast_expression "(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c)" ( (binary_expression "(*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c" (binary_expression "(*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc)" (parenthesized_expression "(*(ushort *)(*piVar25 + 8) & 0x1f)" ( (binary_expression "*(ushort *)(*piVar25 + 8) & 0x1f" (pointer_expression "*(ushort *)(*piVar25 + 8)" * (cast_expression "(ushort *)(*piVar25 + 8)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar25 + 8)" ( (binary_expression "*piVar25 + 8" (pointer_expression "*piVar25" * identifier) + number_literal) )))) & number_literal) )) + (pointer_expression "*(int *)(pcVar4 + 0xe7acc)" * (cast_expression "(int *)(pcVar4 + 0xe7acc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7acc)" ( (binary_expression "pcVar4 + 0xe7acc" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n    return (code ****)0x5;\n  }" { (return_statement "return (code ****)0x5;" return (cast_expression "(code ****)0x5" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal) ;) })) (expression_statement "pppppcVar15 = ppppppcVar20[2];" (assignment_expression "pppppcVar15 = ppppppcVar20[2]" identifier = (subscript_expression "ppppppcVar20[2]" identifier [ number_literal ])) ;) (expression_statement "ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000);" (assignment_expression "ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000)" identifier = (cast_expression "(code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(ushort *)(pppppcVar15 + 2) & 0x2000)" ( (binary_expression "*(ushort *)(pppppcVar15 + 2) & 0x2000" (pointer_expression "*(ushort *)(pppppcVar15 + 2)" * (cast_expression "(ushort *)(pppppcVar15 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppcVar15 + 2)" ( (binary_expression "pppppcVar15 + 2" identifier + number_literal) )))) & number_literal) )))) ;) (if_statement "if ((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0) {\n    ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);\n    ppppcVar28 = ppppcVar34;\n  }\n  else {\n    ppppcVar28 = pppppcVar15[4];\n  }" if (parenthesized_expression "((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0)" ( (binary_expression "(*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0" (parenthesized_expression "(*(ushort *)(pppppcVar15 + 2) & 0x2000)" ( (binary_expression "*(ushort *)(pppppcVar15 + 2) & 0x2000" (pointer_expression "*(ushort *)(pppppcVar15 + 2)" * (cast_expression "(ushort *)(pppppcVar15 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pppppcVar15 + 2)" ( (binary_expression "pppppcVar15 + 2" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);\n    ppppcVar28 = ppppcVar34;\n  }" { (expression_statement "ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);" (assignment_expression "ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18)" identifier = (cast_expression "(code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18)" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))" ( (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168)" * (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + -0x4168)" ( (binary_expression "*(int *)(pcVar4 + 0xe7d30) + -0x4168" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" * (cast_expression "(int *)(pcVar4 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7d30)" ( (binary_expression "pcVar4 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppcVar20 + 1,pppppcVar15,0x18)" ( (binary_expression "ppppppcVar20 + 1" identifier + number_literal) , identifier , number_literal ))))) ;) (expression_statement "ppppcVar28 = ppppcVar34;" (assignment_expression "ppppcVar28 = ppppcVar34" identifier = identifier) ;) }) (else_clause "else {\n    ppppcVar28 = pppppcVar15[4];\n  }" else (compound_statement "{\n    ppppcVar28 = pppppcVar15[4];\n  }" { (expression_statement "ppppcVar28 = pppppcVar15[4];" (assignment_expression "ppppcVar28 = pppppcVar15[4]" identifier = (subscript_expression "pppppcVar15[4]" identifier [ number_literal ])) ;) }))) (if_statement "if (ppppcVar28 == (code ****)0x0) {\n    return ppppcVar34;\n  }" if (parenthesized_expression "(ppppcVar28 == (code ****)0x0)" ( (binary_expression "ppppcVar28 == (code ****)0x0" identifier == (cast_expression "(code ****)0x0" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n    return ppppcVar34;\n  }" { (return_statement "return ppppcVar34;" return identifier ;) })) (expression_statement "pppcVar14 = ppppcVar28[3];" (assignment_expression "pppcVar14 = ppppcVar28[3]" identifier = (subscript_expression "ppppcVar28[3]" identifier [ number_literal ])) ;) (expression_statement "ppppcVar28[3] = (*ppppppcVar20)[8][0x1b];" (assignment_expression "ppppcVar28[3] = (*ppppppcVar20)[8][0x1b]" (subscript_expression "ppppcVar28[3]" identifier [ number_literal ]) = (subscript_expression "(*ppppppcVar20)[8][0x1b]" (subscript_expression "(*ppppppcVar20)[8]" (parenthesized_expression "(*ppppppcVar20)" ( (pointer_expression "*ppppppcVar20" * identifier) )) [ number_literal ]) [ number_literal ])) ;) (if_statement "if (pppcVar14 == (code ***)0x0) {\n    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar6 = *piVar25;\n  }\n  else {\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }" if (parenthesized_expression "(pppcVar14 == (code ***)0x0)" ( (binary_expression "pppcVar14 == (code ***)0x0" identifier == (cast_expression "(code ***)0x0" ( (type_descriptor "code ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) )) (compound_statement "{\n    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar6 = *piVar25;\n  }" { (expression_statement "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);" (assignment_expression "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" ( (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6f60" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" * (cast_expression "(int *)(pcVar4 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7d30)" ( (binary_expression "pcVar4 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);" (assignment_expression "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" ( (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6c88" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" * (cast_expression "(int *)(pcVar4 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7d30)" ( (binary_expression "pcVar4 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_000a8f8c:\n    iVar6 = *piVar25;" statement_identifier : (expression_statement "iVar6 = *piVar25;" (assignment_expression "iVar6 = *piVar25" identifier = (pointer_expression "*piVar25" * identifier)) ;)) }) (else_clause "else {\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }" else (compound_statement "{\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }" { (if_statement "if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }" if (parenthesized_expression "(uVar23 == 2)" ( (binary_expression "uVar23 == 2" identifier == number_literal) )) (compound_statement "{\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }" { (expression_statement "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);" (assignment_expression "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" ( (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6f60" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" * (cast_expression "(int *)(pcVar4 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7d30)" ( (binary_expression "pcVar4 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar6 = (*pcVar32)(piVar25[1],1);" (assignment_expression "iVar6 = (*pcVar32)(piVar25[1],1)" identifier = (call_expression "(*pcVar32)(piVar25[1],1)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(piVar25[1],1)" ( (subscript_expression "piVar25[1]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);" (assignment_expression "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" ( (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6c88" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" * (cast_expression "(int *)(pcVar4 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7d30)" ( (binary_expression "pcVar4 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "uVar42 = (*pcVar5)(piVar25[1],1);" (assignment_expression "uVar42 = (*pcVar5)(piVar25[1],1)" identifier = (call_expression "(*pcVar5)(piVar25[1],1)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(piVar25[1],1)" ( (subscript_expression "piVar25[1]" identifier [ number_literal ]) , number_literal )))) ;) (if_statement "if (iVar6 == 0) goto LAB_000a8f8c;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000a8f8c;" goto statement_identifier ;)) (expression_statement "pcVar40 = *(code **)(pcVar4 + 0xe7d68);" (assignment_expression "pcVar40 = *(code **)(pcVar4 + 0xe7d68)" identifier = (pointer_expression "*(code **)(pcVar4 + 0xe7d68)" * (cast_expression "(code **)(pcVar4 + 0xe7d68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe7d68)" ( (binary_expression "pcVar4 + 0xe7d68" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }" else (compound_statement "{\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }" { (expression_statement "uVar42 = 1;" (assignment_expression "uVar42 = 1" identifier = number_literal) ;) (expression_statement "iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;" (assignment_expression "iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c" identifier = (binary_expression "*(int *)(pcVar4 + 0xe7ac8) + 0x138c" (pointer_expression "*(int *)(pcVar4 + 0xe7ac8)" * (cast_expression "(int *)(pcVar4 + 0xe7ac8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7ac8)" ( (binary_expression "pcVar4 + 0xe7ac8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);" (assignment_expression "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" ( (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6f60" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" * (cast_expression "(int *)(pcVar4 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7d30)" ( (binary_expression "pcVar4 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);" (assignment_expression "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" identifier = (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" ( (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6c88" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" * (cast_expression "(int *)(pcVar4 + 0xe7d30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar4 + 0xe7d30)" ( (binary_expression "pcVar4 + 0xe7d30" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar40 = *(code **)(pcVar4 + 0xe7d68);" (assignment_expression "pcVar40 = *(code **)(pcVar4 + 0xe7d68)" identifier = (pointer_expression "*(code **)(pcVar4 + 0xe7d68)" * (cast_expression "(code **)(pcVar4 + 0xe7d68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe7d68)" ( (binary_expression "pcVar4 + 0xe7d68" identifier + number_literal) ))))) ;) }))) (expression_statement "(*pcVar40)(ppppcVar28,iVar6,uVar42);" (call_expression "(*pcVar40)(ppppcVar28,iVar6,uVar42)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(ppppcVar28,iVar6,uVar42)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar6 = *piVar25;" (assignment_expression "iVar6 = *piVar25" identifier = (pointer_expression "*piVar25" * identifier)) ;) }))) (expression_statement "iVar6 = (*pcVar32)(iVar6,1);" (assignment_expression "iVar6 = (*pcVar32)(iVar6,1)" identifier = (call_expression "(*pcVar32)(iVar6,1)" (parenthesized_expression "(*pcVar32)" ( (pointer_expression "*pcVar32" * identifier) )) (argument_list "(iVar6,1)" ( identifier , number_literal )))) ;) (expression_statement "ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1);" (assignment_expression "ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1)" identifier = (cast_expression "(code ****)(*pcVar5)(*piVar25,1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*pcVar5)(*piVar25,1)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(*piVar25,1)" ( (pointer_expression "*piVar25" * identifier) , number_literal ))))) ;) (if_statement "if (iVar6 == 0) {\n    return ppppcVar34;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    return ppppcVar34;\n  }" { (return_statement "return ppppcVar34;" return identifier ;) })) (expression_statement "ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34);" (assignment_expression "ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34)" identifier = (cast_expression "(code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34)" (parenthesized_expression "(**(code **)(pcVar4 + 0xe7d68))" ( (pointer_expression "**(code **)(pcVar4 + 0xe7d68)" * (pointer_expression "*(code **)(pcVar4 + 0xe7d68)" * (cast_expression "(code **)(pcVar4 + 0xe7d68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar4 + 0xe7d68)" ( (binary_expression "pcVar4 + 0xe7d68" identifier + number_literal) ))))) )) (argument_list "(ppppcVar28,iVar6,ppppcVar34)" ( identifier , identifier , identifier ))))) ;) (return_statement "return ppppcVar34;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))))) , (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)))))))) ))))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (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 * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (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 * 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 * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * 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 * (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 * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (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 * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (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 * 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 * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE 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 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 * 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 * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE 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 * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE 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 * (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 * (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 * 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 (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 * IDENT)))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) 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 ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (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 *)))))))) ) 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 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 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 + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (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 * (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 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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT))))) )) (compound_statement { (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 *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT , LIT )))) ;) (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 * (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 = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = 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 *)))))))) ) (pointer_expression * IDENT))) ;) (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 (cast_expression ( (type_descriptor TYPE) ) 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 { (expression_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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) && (parenthesized_expression ( (comma_expression (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))) , (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 (call_expression IDENT (argument_list ( IDENT , 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 *)))))))) ) (pointer_expression * IDENT))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (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 *)))))))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , 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))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> LIT) )) - LIT) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (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 *)))))))) ) (pointer_expression * 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 (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == IDENT) )) (break_statement break ;)) (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 *)))))))) ) (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 *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) || (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)) ))) )) (break_statement break ;)) })) (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 { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT))) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (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 == (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (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 * (abstract_pointer_declarator *)))))))) ) (pointer_expression * IDENT))) ;) (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 = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (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 *)))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , (pointer_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 { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression (pointer_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 *)))))))) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (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 = (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 *)))))) ) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , 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 *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (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 (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (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 IDENT + LIT) + IDENT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | (binary_expression IDENT << LIT)) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) != IDENT) )) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (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 *))))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) )) - LIT) | (binary_expression IDENT << LIT)) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (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 IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]) = (cast_expression ( (type_descriptor TYPE (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 *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) - LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT) < IDENT) )) (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 *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ]) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (cast_expression ( (type_descriptor TYPE (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 (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (unary_expression - (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 *)))))))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + 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 (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }))) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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 = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 (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 = 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) ;) (do_statement do (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 *)))))) ) 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 * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (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 *)))))))) ) (pointer_expression & 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 ))) ;) (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 *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (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 = BOOL) ;) })) })) }))) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (parenthesized_expression ( (binary_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 { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) - (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)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , 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 *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT - LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) 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) )))) ;) }) while (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 ( (comma_expression (assignment_expression IDENT = (binary_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))) ))) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (call_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 *))))) ) LIT)) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (char_literal ' escape_sequence ')) )) * (char_literal ' escape_sequence '))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression 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 *))))))) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_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 *))))))) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ))) * IDENT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT) + (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , (pointer_expression & IDENT) , LIT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) ))) , (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , LIT ))) ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT) + (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) <= IDENT) )) (break_statement break ;)) (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 , (pointer_expression & IDENT) , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT ))))) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , LIT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (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 *))))) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) & LIT) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == 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 *))))) ) (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) , IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression (subscript_expression (parenthesized_expression ( (pointer_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 *)))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_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 = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * IDENT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT ))))) ;) (return_statement return IDENT ;) })))
(function_definition "code **** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  code *****pppppcVar7;\n  code *******pppppppcVar8;\n  code ****ppppcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code ***pppcVar14;\n  code *****pppppcVar15;\n  code *******pppppppcVar16;\n  code ****ppppcVar17;\n  uint extraout_v1;\n  code ****ppppcVar18;\n  code ******ppppppcVar19;\n  code ******ppppppcVar20;\n  code *******pppppppcVar21;\n  code ****ppppcVar22;\n  uint uVar23;\n  code *******pppppppcVar24;\n  int *piVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code ****ppppcVar28;\n  code ****ppppcVar29;\n  code *******unaff_s0;\n  int *piVar30;\n  undefined *unaff_s1;\n  code *******unaff_s2;\n  int iVar31;\n  code *pcVar32;\n  code *******unaff_s3;\n  code *****pppppcVar33;\n  code ****ppppcVar34;\n  code *******unaff_s4;\n  code *******pppppppcVar35;\n  int iVar36;\n  code *******unaff_s5;\n  int *piVar37;\n  code *****unaff_s7;\n  float *pfVar38;\n  undefined *puVar39;\n  code *pcVar40;\n  int iVar41;\n  undefined4 uVar42;\n  float fVar43;\n  undefined4 uStack_3b0;\n  undefined4 uStack_3ac;\n  undefined4 uStack_3a8;\n  undefined4 uStack_3a4;\n  undefined4 uStack_3a0;\n  undefined4 uStack_39c;\n  int iStack_398;\n  undefined4 uStack_394;\n  undefined4 uStack_390;\n  undefined4 uStack_38c;\n  float afStack_388 [10];\n  undefined1 auStack_360 [20];\n  char cStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  code ****ppppcStack_164;\n  int *piStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  code ****ppppcStack_154;\n  code *******pppppppcStack_150;\n  code *******pppppppcStack_14c;\n  code *******pppppppcStack_148;\n  code *****pppppcStack_144;\n  code ******ppppppcStack_140;\n  undefined4 uStack_13c;\n  code *******pppppppcStack_128;\n  code ******ppppppcStack_124;\n  undefined *puStack_120;\n  code ******ppppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  int iStack_108;\n  int iStack_104;\n  code *pcStack_100;\n  int iStack_fc;\n  code *******pppppppcStack_f8;\n  int iStack_f4;\n  uint uStack_f0;\n  code *******pppppppcStack_ec;\n  code *****pppppcStack_e8;\n  code *pcStack_e4;\n  code *pcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *pcStack_d4;\n  code *pcStack_d0;\n  int iStack_cc;\n  code ****ppppcStack_c8;\n  int iStack_c4;\n  undefined4 uStack_c0;\n  uint uStack_bc;\n  byte *pbStack_b4;\n  code *******pppppppcStack_b0;\n  code ******ppppppcStack_ac;\n  uint uStack_a4;\n  ushort uStack_a0;\n  ushort uStack_9e;\n  code ******ppppppcStack_94;\n  code *******pppppppcStack_90;\n  undefined *puStack_8c;\n  code *******pppppppcStack_88;\n  code *******pppppppcStack_84;\n  code *******pppppppcStack_80;\n  code *******pppppppcStack_7c;\n  code *******pppppppcStack_78;\n  code *****pppppcStack_74;\n  code ******ppppppcStack_70;\n  code *pcStack_6c;\n  code *******pppppppcStack_64;\n  code *******local_58;\n  code ******ppppppcStack_54;\n  code ******local_30;\n  code ****local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  pppppcVar15 = param_1[5];\n  local_2c = *(code *****)PTR___stack_chk_guard_00190e24;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar20 = param_1;\n    pppppppcVar21 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }\nLAB_000a8064:\n  if (local_2c == *(code *****)puVar3) {\n    return *(code *****)puVar3;\n  }\n  pcVar4 = FUN_000a822c;\n  puVar39 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_120 = puVar39 + 0xf06f4;\n  piVar30 = *(int **)(puVar39 + 0xe8bf8);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*piVar30;\n  pppppppcVar8 = param_3;\n  pppppppcVar35 = pppppppcStack_80;\n  pppppppcStack_90 = unaff_s0;\n  puStack_8c = unaff_s1;\n  pppppppcStack_88 = unaff_s2;\n  pppppppcStack_84 = unaff_s3;\n  pppppppcStack_7c = unaff_s5;\n  pppppppcStack_78 = param_2;\n  pppppcStack_74 = unaff_s7;\n  ppppppcStack_70 = param_1;\n  pcStack_6c = pcVar4;\n  if (pppppppcVar21 == (code *******)0x0) {\nLAB_000a8280:\n    ppppcVar34 = (code ****)0x0;\n    ppppppcVar20 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*piVar30) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(puStack_120 + -0x7b28);\n  uVar42 = 0xa8b38;\n  ppppppcVar19 = ppppppcStack_94;\n  (*pcVar4)();\n  uVar23 = 0;\n  piVar25 = (int *)&DAT_000001f8;\n  piVar37 = *(int **)(pcVar4 + 0xe82ec);\n  uStack_3b0 = 0;\n  uStack_3ac = 0;\n  uStack_3a8 = 0;\n  uStack_3a4 = 0;\n  uStack_3a0 = 0;\n  uStack_39c = 0;\n  iStack_398 = 0;\n  uStack_394 = 0;\n  ppppcStack_164 = (code ****)*piVar37;\n  piStack_160 = piVar30;\n  pppppppcStack_15c = pppppppcVar21;\n  pppppppcStack_158 = unaff_s2;\n  ppppcStack_154 = ppppcVar34;\n  pppppppcStack_150 = pppppppcVar35;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar20;\n  uStack_13c = uVar42;\n  (**(code **)(pcVar4 + 0xe8220))(auStack_360);\n  ppppppcVar20 = *pppppppcVar8;\n  (*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))();\n  cStack_34c = (char)extraout_v1;\n  if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);\n    uVar23 = 1;\n    ppppppcVar20 = pppppppcVar8[1];\n    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();\n    if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }\n  }\n  ppppcVar34 = (code ****)*piVar37;\n  if (ppppcStack_164 == ppppcVar34) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(pcVar4 + 0xe82c0);\n  (*pcVar4)();\n  if (*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5) {\n    return (code ****)0x5;\n  }\n  pppppcVar15 = ppppppcVar20[2];\n  ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000);\n  if ((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0) {\n    ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);\n    ppppcVar28 = ppppcVar34;\n  }\n  else {\n    ppppcVar28 = pppppcVar15[4];\n  }\n  if (ppppcVar28 == (code ****)0x0) {\n    return ppppcVar34;\n  }\n  pppcVar14 = ppppcVar28[3];\n  ppppcVar28[3] = (*ppppppcVar20)[8][0x1b];\n  if (pppcVar14 == (code ***)0x0) {\n    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar6 = *piVar25;\n  }\n  else {\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }\n  iVar6 = (*pcVar32)(iVar6,1);\n  ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1);\n  if (iVar6 == 0) {\n    return ppppcVar34;\n  }\n                    \n                    \n  ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34);\n  return ppppcVar34;\n}" (type_identifier "code") (pointer_declarator "**** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" (* "*") (pointer_declarator "*** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" (* "*") (pointer_declarator "** FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" (* "*") (pointer_declarator "* FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" (* "*") (function_declarator "FUN_000a7ec0(code ******param_1,code *******param_2,code *******param_3,\n                      code *******param_4)" (identifier "FUN_000a7ec0") (parameter_list "(code ******param_1,code *******param_2,code *******param_3,\n                      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" (* "*") (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 "code *******param_3" (type_identifier "code") (pointer_declarator "*******param_3" (* "*") (pointer_declarator "******param_3" (* "*") (pointer_declarator "*****param_3" (* "*") (pointer_declarator "****param_3" (* "*") (pointer_declarator "***param_3" (* "*") (pointer_declarator "**param_3" (* "*") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))))))))) (, ",") (parameter_declaration "code *******param_4" (type_identifier "code") (pointer_declarator "*******param_4" (* "*") (pointer_declarator "******param_4" (* "*") (pointer_declarator "*****param_4" (* "*") (pointer_declarator "****param_4" (* "*") (pointer_declarator "***param_4" (* "*") (pointer_declarator "**param_4" (* "*") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))))))))) () ")"))))))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  code *pcVar4;\n  code *pcVar5;\n  int iVar6;\n  code *****pppppcVar7;\n  code *******pppppppcVar8;\n  code ****ppppcVar9;\n  int iVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  code ***pppcVar14;\n  code *****pppppcVar15;\n  code *******pppppppcVar16;\n  code ****ppppcVar17;\n  uint extraout_v1;\n  code ****ppppcVar18;\n  code ******ppppppcVar19;\n  code ******ppppppcVar20;\n  code *******pppppppcVar21;\n  code ****ppppcVar22;\n  uint uVar23;\n  code *******pppppppcVar24;\n  int *piVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code ****ppppcVar28;\n  code ****ppppcVar29;\n  code *******unaff_s0;\n  int *piVar30;\n  undefined *unaff_s1;\n  code *******unaff_s2;\n  int iVar31;\n  code *pcVar32;\n  code *******unaff_s3;\n  code *****pppppcVar33;\n  code ****ppppcVar34;\n  code *******unaff_s4;\n  code *******pppppppcVar35;\n  int iVar36;\n  code *******unaff_s5;\n  int *piVar37;\n  code *****unaff_s7;\n  float *pfVar38;\n  undefined *puVar39;\n  code *pcVar40;\n  int iVar41;\n  undefined4 uVar42;\n  float fVar43;\n  undefined4 uStack_3b0;\n  undefined4 uStack_3ac;\n  undefined4 uStack_3a8;\n  undefined4 uStack_3a4;\n  undefined4 uStack_3a0;\n  undefined4 uStack_39c;\n  int iStack_398;\n  undefined4 uStack_394;\n  undefined4 uStack_390;\n  undefined4 uStack_38c;\n  float afStack_388 [10];\n  undefined1 auStack_360 [20];\n  char cStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  code ****ppppcStack_164;\n  int *piStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  code ****ppppcStack_154;\n  code *******pppppppcStack_150;\n  code *******pppppppcStack_14c;\n  code *******pppppppcStack_148;\n  code *****pppppcStack_144;\n  code ******ppppppcStack_140;\n  undefined4 uStack_13c;\n  code *******pppppppcStack_128;\n  code ******ppppppcStack_124;\n  undefined *puStack_120;\n  code ******ppppppcStack_118;\n  code *****pppppcStack_114;\n  code *****pppppcStack_110;\n  code *****pppppcStack_10c;\n  int iStack_108;\n  int iStack_104;\n  code *pcStack_100;\n  int iStack_fc;\n  code *******pppppppcStack_f8;\n  int iStack_f4;\n  uint uStack_f0;\n  code *******pppppppcStack_ec;\n  code *****pppppcStack_e8;\n  code *pcStack_e4;\n  code *pcStack_e0;\n  code *******pppppppcStack_dc;\n  code *******pppppppcStack_d8;\n  code *pcStack_d4;\n  code *pcStack_d0;\n  int iStack_cc;\n  code ****ppppcStack_c8;\n  int iStack_c4;\n  undefined4 uStack_c0;\n  uint uStack_bc;\n  byte *pbStack_b4;\n  code *******pppppppcStack_b0;\n  code ******ppppppcStack_ac;\n  uint uStack_a4;\n  ushort uStack_a0;\n  ushort uStack_9e;\n  code ******ppppppcStack_94;\n  code *******pppppppcStack_90;\n  undefined *puStack_8c;\n  code *******pppppppcStack_88;\n  code *******pppppppcStack_84;\n  code *******pppppppcStack_80;\n  code *******pppppppcStack_7c;\n  code *******pppppppcStack_78;\n  code *****pppppcStack_74;\n  code ******ppppppcStack_70;\n  code *pcStack_6c;\n  code *******pppppppcStack_64;\n  code *******local_58;\n  code ******ppppppcStack_54;\n  code ******local_30;\n  code ****local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_00190e24;\n  puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;\n  pppppcVar15 = param_1[5];\n  local_2c = *(code *****)PTR___stack_chk_guard_00190e24;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar20 = param_1;\n    pppppppcVar21 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }\nLAB_000a8064:\n  if (local_2c == *(code *****)puVar3) {\n    return *(code *****)puVar3;\n  }\n  pcVar4 = FUN_000a822c;\n  puVar39 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  puStack_120 = puVar39 + 0xf06f4;\n  piVar30 = *(int **)(puVar39 + 0xe8bf8);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*piVar30;\n  pppppppcVar8 = param_3;\n  pppppppcVar35 = pppppppcStack_80;\n  pppppppcStack_90 = unaff_s0;\n  puStack_8c = unaff_s1;\n  pppppppcStack_88 = unaff_s2;\n  pppppppcStack_84 = unaff_s3;\n  pppppppcStack_7c = unaff_s5;\n  pppppppcStack_78 = param_2;\n  pppppcStack_74 = unaff_s7;\n  ppppppcStack_70 = param_1;\n  pcStack_6c = pcVar4;\n  if (pppppppcVar21 == (code *******)0x0) {\nLAB_000a8280:\n    ppppcVar34 = (code ****)0x0;\n    ppppppcVar20 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*piVar30) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(puStack_120 + -0x7b28);\n  uVar42 = 0xa8b38;\n  ppppppcVar19 = ppppppcStack_94;\n  (*pcVar4)();\n  uVar23 = 0;\n  piVar25 = (int *)&DAT_000001f8;\n  piVar37 = *(int **)(pcVar4 + 0xe82ec);\n  uStack_3b0 = 0;\n  uStack_3ac = 0;\n  uStack_3a8 = 0;\n  uStack_3a4 = 0;\n  uStack_3a0 = 0;\n  uStack_39c = 0;\n  iStack_398 = 0;\n  uStack_394 = 0;\n  ppppcStack_164 = (code ****)*piVar37;\n  piStack_160 = piVar30;\n  pppppppcStack_15c = pppppppcVar21;\n  pppppppcStack_158 = unaff_s2;\n  ppppcStack_154 = ppppcVar34;\n  pppppppcStack_150 = pppppppcVar35;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar20;\n  uStack_13c = uVar42;\n  (**(code **)(pcVar4 + 0xe8220))(auStack_360);\n  ppppppcVar20 = *pppppppcVar8;\n  (*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))();\n  cStack_34c = (char)extraout_v1;\n  if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);\n    uVar23 = 1;\n    ppppppcVar20 = pppppppcVar8[1];\n    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();\n    if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }\n  }\n  ppppcVar34 = (code ****)*piVar37;\n  if (ppppcStack_164 == ppppcVar34) {\n    return ppppcVar34;\n  }\n  pcVar4 = *(code **)(pcVar4 + 0xe82c0);\n  (*pcVar4)();\n  if (*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5) {\n    return (code ****)0x5;\n  }\n  pppppcVar15 = ppppppcVar20[2];\n  ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000);\n  if ((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0) {\n    ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);\n    ppppcVar28 = ppppcVar34;\n  }\n  else {\n    ppppcVar28 = pppppcVar15[4];\n  }\n  if (ppppcVar28 == (code ****)0x0) {\n    return ppppcVar34;\n  }\n  pppcVar14 = ppppcVar28[3];\n  ppppcVar28[3] = (*ppppppcVar20)[8][0x1b];\n  if (pppcVar14 == (code ***)0x0) {\n    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar6 = *piVar25;\n  }\n  else {\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }\n  iVar6 = (*pcVar32)(iVar6,1);\n  ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1);\n  if (iVar6 == 0) {\n    return ppppcVar34;\n  }\n                    \n                    \n  ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34);\n  return ppppcVar34;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "code *pcVar4;" (type_identifier "code") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "code *pcVar5;" (type_identifier "code") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "code *****pppppcVar7;" (type_identifier "code") (pointer_declarator "*****pppppcVar7" (* "*") (pointer_declarator "****pppppcVar7" (* "*") (pointer_declarator "***pppppcVar7" (* "*") (pointer_declarator "**pppppcVar7" (* "*") (pointer_declarator "*pppppcVar7" (* "*") (identifier "pppppcVar7")))))) (; ";")) (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 "code ****ppppcVar9;" (type_identifier "code") (pointer_declarator "****ppppcVar9" (* "*") (pointer_declarator "***ppppcVar9" (* "*") (pointer_declarator "**ppppcVar9" (* "*") (pointer_declarator "*ppppcVar9" (* "*") (identifier "ppppcVar9"))))) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "code ***pppcVar14;" (type_identifier "code") (pointer_declarator "***pppcVar14" (* "*") (pointer_declarator "**pppcVar14" (* "*") (pointer_declarator "*pppcVar14" (* "*") (identifier "pppcVar14")))) (; ";")) (declaration "code *****pppppcVar15;" (type_identifier "code") (pointer_declarator "*****pppppcVar15" (* "*") (pointer_declarator "****pppppcVar15" (* "*") (pointer_declarator "***pppppcVar15" (* "*") (pointer_declarator "**pppppcVar15" (* "*") (pointer_declarator "*pppppcVar15" (* "*") (identifier "pppppcVar15")))))) (; ";")) (declaration "code *******pppppppcVar16;" (type_identifier "code") (pointer_declarator "*******pppppppcVar16" (* "*") (pointer_declarator "******pppppppcVar16" (* "*") (pointer_declarator "*****pppppppcVar16" (* "*") (pointer_declarator "****pppppppcVar16" (* "*") (pointer_declarator "***pppppppcVar16" (* "*") (pointer_declarator "**pppppppcVar16" (* "*") (pointer_declarator "*pppppppcVar16" (* "*") (identifier "pppppppcVar16")))))))) (; ";")) (declaration "code ****ppppcVar17;" (type_identifier "code") (pointer_declarator "****ppppcVar17" (* "*") (pointer_declarator "***ppppcVar17" (* "*") (pointer_declarator "**ppppcVar17" (* "*") (pointer_declarator "*ppppcVar17" (* "*") (identifier "ppppcVar17"))))) (; ";")) (declaration "uint extraout_v1;" (type_identifier "uint") (identifier "extraout_v1") (; ";")) (declaration "code ****ppppcVar18;" (type_identifier "code") (pointer_declarator "****ppppcVar18" (* "*") (pointer_declarator "***ppppcVar18" (* "*") (pointer_declarator "**ppppcVar18" (* "*") (pointer_declarator "*ppppcVar18" (* "*") (identifier "ppppcVar18"))))) (; ";")) (declaration "code ******ppppppcVar19;" (type_identifier "code") (pointer_declarator "******ppppppcVar19" (* "*") (pointer_declarator "*****ppppppcVar19" (* "*") (pointer_declarator "****ppppppcVar19" (* "*") (pointer_declarator "***ppppppcVar19" (* "*") (pointer_declarator "**ppppppcVar19" (* "*") (pointer_declarator "*ppppppcVar19" (* "*") (identifier "ppppppcVar19"))))))) (; ";")) (declaration "code ******ppppppcVar20;" (type_identifier "code") (pointer_declarator "******ppppppcVar20" (* "*") (pointer_declarator "*****ppppppcVar20" (* "*") (pointer_declarator "****ppppppcVar20" (* "*") (pointer_declarator "***ppppppcVar20" (* "*") (pointer_declarator "**ppppppcVar20" (* "*") (pointer_declarator "*ppppppcVar20" (* "*") (identifier "ppppppcVar20"))))))) (; ";")) (declaration "code *******pppppppcVar21;" (type_identifier "code") (pointer_declarator "*******pppppppcVar21" (* "*") (pointer_declarator "******pppppppcVar21" (* "*") (pointer_declarator "*****pppppppcVar21" (* "*") (pointer_declarator "****pppppppcVar21" (* "*") (pointer_declarator "***pppppppcVar21" (* "*") (pointer_declarator "**pppppppcVar21" (* "*") (pointer_declarator "*pppppppcVar21" (* "*") (identifier "pppppppcVar21")))))))) (; ";")) (declaration "code ****ppppcVar22;" (type_identifier "code") (pointer_declarator "****ppppcVar22" (* "*") (pointer_declarator "***ppppcVar22" (* "*") (pointer_declarator "**ppppcVar22" (* "*") (pointer_declarator "*ppppcVar22" (* "*") (identifier "ppppcVar22"))))) (; ";")) (declaration "uint uVar23;" (type_identifier "uint") (identifier "uVar23") (; ";")) (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 "int *piVar25;" (primitive_type "int") (pointer_declarator "*piVar25" (* "*") (identifier "piVar25")) (; ";")) (declaration "code ****ppppcVar26;" (type_identifier "code") (pointer_declarator "****ppppcVar26" (* "*") (pointer_declarator "***ppppcVar26" (* "*") (pointer_declarator "**ppppcVar26" (* "*") (pointer_declarator "*ppppcVar26" (* "*") (identifier "ppppcVar26"))))) (; ";")) (declaration "code ****ppppcVar27;" (type_identifier "code") (pointer_declarator "****ppppcVar27" (* "*") (pointer_declarator "***ppppcVar27" (* "*") (pointer_declarator "**ppppcVar27" (* "*") (pointer_declarator "*ppppcVar27" (* "*") (identifier "ppppcVar27"))))) (; ";")) (declaration "code ****ppppcVar28;" (type_identifier "code") (pointer_declarator "****ppppcVar28" (* "*") (pointer_declarator "***ppppcVar28" (* "*") (pointer_declarator "**ppppcVar28" (* "*") (pointer_declarator "*ppppcVar28" (* "*") (identifier "ppppcVar28"))))) (; ";")) (declaration "code ****ppppcVar29;" (type_identifier "code") (pointer_declarator "****ppppcVar29" (* "*") (pointer_declarator "***ppppcVar29" (* "*") (pointer_declarator "**ppppcVar29" (* "*") (pointer_declarator "*ppppcVar29" (* "*") (identifier "ppppcVar29"))))) (; ";")) (declaration "code *******unaff_s0;" (type_identifier "code") (pointer_declarator "*******unaff_s0" (* "*") (pointer_declarator "******unaff_s0" (* "*") (pointer_declarator "*****unaff_s0" (* "*") (pointer_declarator "****unaff_s0" (* "*") (pointer_declarator "***unaff_s0" (* "*") (pointer_declarator "**unaff_s0" (* "*") (pointer_declarator "*unaff_s0" (* "*") (identifier "unaff_s0")))))))) (; ";")) (declaration "int *piVar30;" (primitive_type "int") (pointer_declarator "*piVar30" (* "*") (identifier "piVar30")) (; ";")) (declaration "undefined *unaff_s1;" (type_identifier "undefined") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "code *******unaff_s2;" (type_identifier "code") (pointer_declarator "*******unaff_s2" (* "*") (pointer_declarator "******unaff_s2" (* "*") (pointer_declarator "*****unaff_s2" (* "*") (pointer_declarator "****unaff_s2" (* "*") (pointer_declarator "***unaff_s2" (* "*") (pointer_declarator "**unaff_s2" (* "*") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")))))))) (; ";")) (declaration "int iVar31;" (primitive_type "int") (identifier "iVar31") (; ";")) (declaration "code *pcVar32;" (type_identifier "code") (pointer_declarator "*pcVar32" (* "*") (identifier "pcVar32")) (; ";")) (declaration "code *******unaff_s3;" (type_identifier "code") (pointer_declarator "*******unaff_s3" (* "*") (pointer_declarator "******unaff_s3" (* "*") (pointer_declarator "*****unaff_s3" (* "*") (pointer_declarator "****unaff_s3" (* "*") (pointer_declarator "***unaff_s3" (* "*") (pointer_declarator "**unaff_s3" (* "*") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")))))))) (; ";")) (declaration "code *****pppppcVar33;" (type_identifier "code") (pointer_declarator "*****pppppcVar33" (* "*") (pointer_declarator "****pppppcVar33" (* "*") (pointer_declarator "***pppppcVar33" (* "*") (pointer_declarator "**pppppcVar33" (* "*") (pointer_declarator "*pppppcVar33" (* "*") (identifier "pppppcVar33")))))) (; ";")) (declaration "code ****ppppcVar34;" (type_identifier "code") (pointer_declarator "****ppppcVar34" (* "*") (pointer_declarator "***ppppcVar34" (* "*") (pointer_declarator "**ppppcVar34" (* "*") (pointer_declarator "*ppppcVar34" (* "*") (identifier "ppppcVar34"))))) (; ";")) (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 "code *******pppppppcVar35;" (type_identifier "code") (pointer_declarator "*******pppppppcVar35" (* "*") (pointer_declarator "******pppppppcVar35" (* "*") (pointer_declarator "*****pppppppcVar35" (* "*") (pointer_declarator "****pppppppcVar35" (* "*") (pointer_declarator "***pppppppcVar35" (* "*") (pointer_declarator "**pppppppcVar35" (* "*") (pointer_declarator "*pppppppcVar35" (* "*") (identifier "pppppppcVar35")))))))) (; ";")) (declaration "int iVar36;" (primitive_type "int") (identifier "iVar36") (; ";")) (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" (* "*") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")))))))) (; ";")) (declaration "int *piVar37;" (primitive_type "int") (pointer_declarator "*piVar37" (* "*") (identifier "piVar37")) (; ";")) (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" (* "*") (identifier "unaff_s7")))))) (; ";")) (declaration "float *pfVar38;" (primitive_type "float") (pointer_declarator "*pfVar38" (* "*") (identifier "pfVar38")) (; ";")) (declaration "undefined *puVar39;" (type_identifier "undefined") (pointer_declarator "*puVar39" (* "*") (identifier "puVar39")) (; ";")) (declaration "code *pcVar40;" (type_identifier "code") (pointer_declarator "*pcVar40" (* "*") (identifier "pcVar40")) (; ";")) (declaration "int iVar41;" (primitive_type "int") (identifier "iVar41") (; ";")) (declaration "undefined4 uVar42;" (type_identifier "undefined4") (identifier "uVar42") (; ";")) (declaration "float fVar43;" (primitive_type "float") (identifier "fVar43") (; ";")) (declaration "undefined4 uStack_3b0;" (type_identifier "undefined4") (identifier "uStack_3b0") (; ";")) (declaration "undefined4 uStack_3ac;" (type_identifier "undefined4") (identifier "uStack_3ac") (; ";")) (declaration "undefined4 uStack_3a8;" (type_identifier "undefined4") (identifier "uStack_3a8") (; ";")) (declaration "undefined4 uStack_3a4;" (type_identifier "undefined4") (identifier "uStack_3a4") (; ";")) (declaration "undefined4 uStack_3a0;" (type_identifier "undefined4") (identifier "uStack_3a0") (; ";")) (declaration "undefined4 uStack_39c;" (type_identifier "undefined4") (identifier "uStack_39c") (; ";")) (declaration "int iStack_398;" (primitive_type "int") (identifier "iStack_398") (; ";")) (declaration "undefined4 uStack_394;" (type_identifier "undefined4") (identifier "uStack_394") (; ";")) (declaration "undefined4 uStack_390;" (type_identifier "undefined4") (identifier "uStack_390") (; ";")) (declaration "undefined4 uStack_38c;" (type_identifier "undefined4") (identifier "uStack_38c") (; ";")) (declaration "float afStack_388 [10];" (primitive_type "float") (array_declarator "afStack_388 [10]" (identifier "afStack_388") ([ "[") (number_literal "10") (] "]")) (; ";")) (declaration "undefined1 auStack_360 [20];" (type_identifier "undefined1") (array_declarator "auStack_360 [20]" (identifier "auStack_360") ([ "[") (number_literal "20") (] "]")) (; ";")) (declaration "char cStack_34c;" (primitive_type "char") (identifier "cStack_34c") (; ";")) (declaration "byte bStack_34b;" (type_identifier "byte") (identifier "bStack_34b") (; ";")) (declaration "byte bStack_349;" (type_identifier "byte") (identifier "bStack_349") (; ";")) (declaration "code ****ppppcStack_164;" (type_identifier "code") (pointer_declarator "****ppppcStack_164" (* "*") (pointer_declarator "***ppppcStack_164" (* "*") (pointer_declarator "**ppppcStack_164" (* "*") (pointer_declarator "*ppppcStack_164" (* "*") (identifier "ppppcStack_164"))))) (; ";")) (declaration "int *piStack_160;" (primitive_type "int") (pointer_declarator "*piStack_160" (* "*") (identifier "piStack_160")) (; ";")) (declaration "code *******pppppppcStack_15c;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_15c" (* "*") (pointer_declarator "******pppppppcStack_15c" (* "*") (pointer_declarator "*****pppppppcStack_15c" (* "*") (pointer_declarator "****pppppppcStack_15c" (* "*") (pointer_declarator "***pppppppcStack_15c" (* "*") (pointer_declarator "**pppppppcStack_15c" (* "*") (pointer_declarator "*pppppppcStack_15c" (* "*") (identifier "pppppppcStack_15c")))))))) (; ";")) (declaration "code *******pppppppcStack_158;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_158" (* "*") (pointer_declarator "******pppppppcStack_158" (* "*") (pointer_declarator "*****pppppppcStack_158" (* "*") (pointer_declarator "****pppppppcStack_158" (* "*") (pointer_declarator "***pppppppcStack_158" (* "*") (pointer_declarator "**pppppppcStack_158" (* "*") (pointer_declarator "*pppppppcStack_158" (* "*") (identifier "pppppppcStack_158")))))))) (; ";")) (declaration "code ****ppppcStack_154;" (type_identifier "code") (pointer_declarator "****ppppcStack_154" (* "*") (pointer_declarator "***ppppcStack_154" (* "*") (pointer_declarator "**ppppcStack_154" (* "*") (pointer_declarator "*ppppcStack_154" (* "*") (identifier "ppppcStack_154"))))) (; ";")) (declaration "code *******pppppppcStack_150;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_150" (* "*") (pointer_declarator "******pppppppcStack_150" (* "*") (pointer_declarator "*****pppppppcStack_150" (* "*") (pointer_declarator "****pppppppcStack_150" (* "*") (pointer_declarator "***pppppppcStack_150" (* "*") (pointer_declarator "**pppppppcStack_150" (* "*") (pointer_declarator "*pppppppcStack_150" (* "*") (identifier "pppppppcStack_150")))))))) (; ";")) (declaration "code *******pppppppcStack_14c;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_14c" (* "*") (pointer_declarator "******pppppppcStack_14c" (* "*") (pointer_declarator "*****pppppppcStack_14c" (* "*") (pointer_declarator "****pppppppcStack_14c" (* "*") (pointer_declarator "***pppppppcStack_14c" (* "*") (pointer_declarator "**pppppppcStack_14c" (* "*") (pointer_declarator "*pppppppcStack_14c" (* "*") (identifier "pppppppcStack_14c")))))))) (; ";")) (declaration "code *******pppppppcStack_148;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_148" (* "*") (pointer_declarator "******pppppppcStack_148" (* "*") (pointer_declarator "*****pppppppcStack_148" (* "*") (pointer_declarator "****pppppppcStack_148" (* "*") (pointer_declarator "***pppppppcStack_148" (* "*") (pointer_declarator "**pppppppcStack_148" (* "*") (pointer_declarator "*pppppppcStack_148" (* "*") (identifier "pppppppcStack_148")))))))) (; ";")) (declaration "code *****pppppcStack_144;" (type_identifier "code") (pointer_declarator "*****pppppcStack_144" (* "*") (pointer_declarator "****pppppcStack_144" (* "*") (pointer_declarator "***pppppcStack_144" (* "*") (pointer_declarator "**pppppcStack_144" (* "*") (pointer_declarator "*pppppcStack_144" (* "*") (identifier "pppppcStack_144")))))) (; ";")) (declaration "code ******ppppppcStack_140;" (type_identifier "code") (pointer_declarator "******ppppppcStack_140" (* "*") (pointer_declarator "*****ppppppcStack_140" (* "*") (pointer_declarator "****ppppppcStack_140" (* "*") (pointer_declarator "***ppppppcStack_140" (* "*") (pointer_declarator "**ppppppcStack_140" (* "*") (pointer_declarator "*ppppppcStack_140" (* "*") (identifier "ppppppcStack_140"))))))) (; ";")) (declaration "undefined4 uStack_13c;" (type_identifier "undefined4") (identifier "uStack_13c") (; ";")) (declaration "code *******pppppppcStack_128;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_128" (* "*") (pointer_declarator "******pppppppcStack_128" (* "*") (pointer_declarator "*****pppppppcStack_128" (* "*") (pointer_declarator "****pppppppcStack_128" (* "*") (pointer_declarator "***pppppppcStack_128" (* "*") (pointer_declarator "**pppppppcStack_128" (* "*") (pointer_declarator "*pppppppcStack_128" (* "*") (identifier "pppppppcStack_128")))))))) (; ";")) (declaration "code ******ppppppcStack_124;" (type_identifier "code") (pointer_declarator "******ppppppcStack_124" (* "*") (pointer_declarator "*****ppppppcStack_124" (* "*") (pointer_declarator "****ppppppcStack_124" (* "*") (pointer_declarator "***ppppppcStack_124" (* "*") (pointer_declarator "**ppppppcStack_124" (* "*") (pointer_declarator "*ppppppcStack_124" (* "*") (identifier "ppppppcStack_124"))))))) (; ";")) (declaration "undefined *puStack_120;" (type_identifier "undefined") (pointer_declarator "*puStack_120" (* "*") (identifier "puStack_120")) (; ";")) (declaration "code ******ppppppcStack_118;" (type_identifier "code") (pointer_declarator "******ppppppcStack_118" (* "*") (pointer_declarator "*****ppppppcStack_118" (* "*") (pointer_declarator "****ppppppcStack_118" (* "*") (pointer_declarator "***ppppppcStack_118" (* "*") (pointer_declarator "**ppppppcStack_118" (* "*") (pointer_declarator "*ppppppcStack_118" (* "*") (identifier "ppppppcStack_118"))))))) (; ";")) (declaration "code *****pppppcStack_114;" (type_identifier "code") (pointer_declarator "*****pppppcStack_114" (* "*") (pointer_declarator "****pppppcStack_114" (* "*") (pointer_declarator "***pppppcStack_114" (* "*") (pointer_declarator "**pppppcStack_114" (* "*") (pointer_declarator "*pppppcStack_114" (* "*") (identifier "pppppcStack_114")))))) (; ";")) (declaration "code *****pppppcStack_110;" (type_identifier "code") (pointer_declarator "*****pppppcStack_110" (* "*") (pointer_declarator "****pppppcStack_110" (* "*") (pointer_declarator "***pppppcStack_110" (* "*") (pointer_declarator "**pppppcStack_110" (* "*") (pointer_declarator "*pppppcStack_110" (* "*") (identifier "pppppcStack_110")))))) (; ";")) (declaration "code *****pppppcStack_10c;" (type_identifier "code") (pointer_declarator "*****pppppcStack_10c" (* "*") (pointer_declarator "****pppppcStack_10c" (* "*") (pointer_declarator "***pppppcStack_10c" (* "*") (pointer_declarator "**pppppcStack_10c" (* "*") (pointer_declarator "*pppppcStack_10c" (* "*") (identifier "pppppcStack_10c")))))) (; ";")) (declaration "int iStack_108;" (primitive_type "int") (identifier "iStack_108") (; ";")) (declaration "int iStack_104;" (primitive_type "int") (identifier "iStack_104") (; ";")) (declaration "code *pcStack_100;" (type_identifier "code") (pointer_declarator "*pcStack_100" (* "*") (identifier "pcStack_100")) (; ";")) (declaration "int iStack_fc;" (primitive_type "int") (identifier "iStack_fc") (; ";")) (declaration "code *******pppppppcStack_f8;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_f8" (* "*") (pointer_declarator "******pppppppcStack_f8" (* "*") (pointer_declarator "*****pppppppcStack_f8" (* "*") (pointer_declarator "****pppppppcStack_f8" (* "*") (pointer_declarator "***pppppppcStack_f8" (* "*") (pointer_declarator "**pppppppcStack_f8" (* "*") (pointer_declarator "*pppppppcStack_f8" (* "*") (identifier "pppppppcStack_f8")))))))) (; ";")) (declaration "int iStack_f4;" (primitive_type "int") (identifier "iStack_f4") (; ";")) (declaration "uint uStack_f0;" (type_identifier "uint") (identifier "uStack_f0") (; ";")) (declaration "code *******pppppppcStack_ec;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_ec" (* "*") (pointer_declarator "******pppppppcStack_ec" (* "*") (pointer_declarator "*****pppppppcStack_ec" (* "*") (pointer_declarator "****pppppppcStack_ec" (* "*") (pointer_declarator "***pppppppcStack_ec" (* "*") (pointer_declarator "**pppppppcStack_ec" (* "*") (pointer_declarator "*pppppppcStack_ec" (* "*") (identifier "pppppppcStack_ec")))))))) (; ";")) (declaration "code *****pppppcStack_e8;" (type_identifier "code") (pointer_declarator "*****pppppcStack_e8" (* "*") (pointer_declarator "****pppppcStack_e8" (* "*") (pointer_declarator "***pppppcStack_e8" (* "*") (pointer_declarator "**pppppcStack_e8" (* "*") (pointer_declarator "*pppppcStack_e8" (* "*") (identifier "pppppcStack_e8")))))) (; ";")) (declaration "code *pcStack_e4;" (type_identifier "code") (pointer_declarator "*pcStack_e4" (* "*") (identifier "pcStack_e4")) (; ";")) (declaration "code *pcStack_e0;" (type_identifier "code") (pointer_declarator "*pcStack_e0" (* "*") (identifier "pcStack_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 *pcStack_d4;" (type_identifier "code") (pointer_declarator "*pcStack_d4" (* "*") (identifier "pcStack_d4")) (; ";")) (declaration "code *pcStack_d0;" (type_identifier "code") (pointer_declarator "*pcStack_d0" (* "*") (identifier "pcStack_d0")) (; ";")) (declaration "int iStack_cc;" (primitive_type "int") (identifier "iStack_cc") (; ";")) (declaration "code ****ppppcStack_c8;" (type_identifier "code") (pointer_declarator "****ppppcStack_c8" (* "*") (pointer_declarator "***ppppcStack_c8" (* "*") (pointer_declarator "**ppppcStack_c8" (* "*") (pointer_declarator "*ppppcStack_c8" (* "*") (identifier "ppppcStack_c8"))))) (; ";")) (declaration "int iStack_c4;" (primitive_type "int") (identifier "iStack_c4") (; ";")) (declaration "undefined4 uStack_c0;" (type_identifier "undefined4") (identifier "uStack_c0") (; ";")) (declaration "uint uStack_bc;" (type_identifier "uint") (identifier "uStack_bc") (; ";")) (declaration "byte *pbStack_b4;" (type_identifier "byte") (pointer_declarator "*pbStack_b4" (* "*") (identifier "pbStack_b4")) (; ";")) (declaration "code *******pppppppcStack_b0;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_b0" (* "*") (pointer_declarator "******pppppppcStack_b0" (* "*") (pointer_declarator "*****pppppppcStack_b0" (* "*") (pointer_declarator "****pppppppcStack_b0" (* "*") (pointer_declarator "***pppppppcStack_b0" (* "*") (pointer_declarator "**pppppppcStack_b0" (* "*") (pointer_declarator "*pppppppcStack_b0" (* "*") (identifier "pppppppcStack_b0")))))))) (; ";")) (declaration "code ******ppppppcStack_ac;" (type_identifier "code") (pointer_declarator "******ppppppcStack_ac" (* "*") (pointer_declarator "*****ppppppcStack_ac" (* "*") (pointer_declarator "****ppppppcStack_ac" (* "*") (pointer_declarator "***ppppppcStack_ac" (* "*") (pointer_declarator "**ppppppcStack_ac" (* "*") (pointer_declarator "*ppppppcStack_ac" (* "*") (identifier "ppppppcStack_ac"))))))) (; ";")) (declaration "uint uStack_a4;" (type_identifier "uint") (identifier "uStack_a4") (; ";")) (declaration "ushort uStack_a0;" (type_identifier "ushort") (identifier "uStack_a0") (; ";")) (declaration "ushort uStack_9e;" (type_identifier "ushort") (identifier "uStack_9e") (; ";")) (declaration "code ******ppppppcStack_94;" (type_identifier "code") (pointer_declarator "******ppppppcStack_94" (* "*") (pointer_declarator "*****ppppppcStack_94" (* "*") (pointer_declarator "****ppppppcStack_94" (* "*") (pointer_declarator "***ppppppcStack_94" (* "*") (pointer_declarator "**ppppppcStack_94" (* "*") (pointer_declarator "*ppppppcStack_94" (* "*") (identifier "ppppppcStack_94"))))))) (; ";")) (declaration "code *******pppppppcStack_90;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_90" (* "*") (pointer_declarator "******pppppppcStack_90" (* "*") (pointer_declarator "*****pppppppcStack_90" (* "*") (pointer_declarator "****pppppppcStack_90" (* "*") (pointer_declarator "***pppppppcStack_90" (* "*") (pointer_declarator "**pppppppcStack_90" (* "*") (pointer_declarator "*pppppppcStack_90" (* "*") (identifier "pppppppcStack_90")))))))) (; ";")) (declaration "undefined *puStack_8c;" (type_identifier "undefined") (pointer_declarator "*puStack_8c" (* "*") (identifier "puStack_8c")) (; ";")) (declaration "code *******pppppppcStack_88;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_88" (* "*") (pointer_declarator "******pppppppcStack_88" (* "*") (pointer_declarator "*****pppppppcStack_88" (* "*") (pointer_declarator "****pppppppcStack_88" (* "*") (pointer_declarator "***pppppppcStack_88" (* "*") (pointer_declarator "**pppppppcStack_88" (* "*") (pointer_declarator "*pppppppcStack_88" (* "*") (identifier "pppppppcStack_88")))))))) (; ";")) (declaration "code *******pppppppcStack_84;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_84" (* "*") (pointer_declarator "******pppppppcStack_84" (* "*") (pointer_declarator "*****pppppppcStack_84" (* "*") (pointer_declarator "****pppppppcStack_84" (* "*") (pointer_declarator "***pppppppcStack_84" (* "*") (pointer_declarator "**pppppppcStack_84" (* "*") (pointer_declarator "*pppppppcStack_84" (* "*") (identifier "pppppppcStack_84")))))))) (; ";")) (declaration "code *******pppppppcStack_80;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_80" (* "*") (pointer_declarator "******pppppppcStack_80" (* "*") (pointer_declarator "*****pppppppcStack_80" (* "*") (pointer_declarator "****pppppppcStack_80" (* "*") (pointer_declarator "***pppppppcStack_80" (* "*") (pointer_declarator "**pppppppcStack_80" (* "*") (pointer_declarator "*pppppppcStack_80" (* "*") (identifier "pppppppcStack_80")))))))) (; ";")) (declaration "code *******pppppppcStack_7c;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_7c" (* "*") (pointer_declarator "******pppppppcStack_7c" (* "*") (pointer_declarator "*****pppppppcStack_7c" (* "*") (pointer_declarator "****pppppppcStack_7c" (* "*") (pointer_declarator "***pppppppcStack_7c" (* "*") (pointer_declarator "**pppppppcStack_7c" (* "*") (pointer_declarator "*pppppppcStack_7c" (* "*") (identifier "pppppppcStack_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 *****pppppcStack_74;" (type_identifier "code") (pointer_declarator "*****pppppcStack_74" (* "*") (pointer_declarator "****pppppcStack_74" (* "*") (pointer_declarator "***pppppcStack_74" (* "*") (pointer_declarator "**pppppcStack_74" (* "*") (pointer_declarator "*pppppcStack_74" (* "*") (identifier "pppppcStack_74")))))) (; ";")) (declaration "code ******ppppppcStack_70;" (type_identifier "code") (pointer_declarator "******ppppppcStack_70" (* "*") (pointer_declarator "*****ppppppcStack_70" (* "*") (pointer_declarator "****ppppppcStack_70" (* "*") (pointer_declarator "***ppppppcStack_70" (* "*") (pointer_declarator "**ppppppcStack_70" (* "*") (pointer_declarator "*ppppppcStack_70" (* "*") (identifier "ppppppcStack_70"))))))) (; ";")) (declaration "code *pcStack_6c;" (type_identifier "code") (pointer_declarator "*pcStack_6c" (* "*") (identifier "pcStack_6c")) (; ";")) (declaration "code *******pppppppcStack_64;" (type_identifier "code") (pointer_declarator "*******pppppppcStack_64" (* "*") (pointer_declarator "******pppppppcStack_64" (* "*") (pointer_declarator "*****pppppppcStack_64" (* "*") (pointer_declarator "****pppppppcStack_64" (* "*") (pointer_declarator "***pppppppcStack_64" (* "*") (pointer_declarator "**pppppppcStack_64" (* "*") (pointer_declarator "*pppppppcStack_64" (* "*") (identifier "pppppppcStack_64")))))))) (; ";")) (declaration "code *******local_58;" (type_identifier "code") (pointer_declarator "*******local_58" (* "*") (pointer_declarator "******local_58" (* "*") (pointer_declarator "*****local_58" (* "*") (pointer_declarator "****local_58" (* "*") (pointer_declarator "***local_58" (* "*") (pointer_declarator "**local_58" (* "*") (pointer_declarator "*local_58" (* "*") (identifier "local_58")))))))) (; ";")) (declaration "code ******ppppppcStack_54;" (type_identifier "code") (pointer_declarator "******ppppppcStack_54" (* "*") (pointer_declarator "*****ppppppcStack_54" (* "*") (pointer_declarator "****ppppppcStack_54" (* "*") (pointer_declarator "***ppppppcStack_54" (* "*") (pointer_declarator "**ppppppcStack_54" (* "*") (pointer_declarator "*ppppppcStack_54" (* "*") (identifier "ppppppcStack_54"))))))) (; ";")) (declaration "code ******local_30;" (type_identifier "code") (pointer_declarator "******local_30" (* "*") (pointer_declarator "*****local_30" (* "*") (pointer_declarator "****local_30" (* "*") (pointer_declarator "***local_30" (* "*") (pointer_declarator "**local_30" (* "*") (pointer_declarator "*local_30" (* "*") (identifier "local_30"))))))) (; ";")) (declaration "code ****local_2c;" (type_identifier "code") (pointer_declarator "****local_2c" (* "*") (pointer_declarator "***local_2c" (* "*") (pointer_declarator "**local_2c" (* "*") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c"))))) (; ";")) (expression_statement "puVar3 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar3 = PTR___stack_chk_guard_00190e24" (identifier "puVar3") (= "=") (identifier "PTR___stack_chk_guard_00190e24")) (; ";")) (expression_statement "puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;" (assignment_expression "puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c" (identifier "puVar39") (= "=") (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c")) (; ";")) (expression_statement "pppppcVar15 = param_1[5];" (assignment_expression "pppppcVar15 = param_1[5]" (identifier "pppppcVar15") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "local_2c = *(code *****)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(code *****)PTR___stack_chk_guard_00190e24" (identifier "local_2c") (= "=") (pointer_expression "*(code *****)PTR___stack_chk_guard_00190e24" (* "*") (cast_expression "(code *****)PTR___stack_chk_guard_00190e24" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "PTR___stack_chk_guard_00190e24")))) (; ";")) (if_statement "if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar20 = param_1;\n    pppppppcVar21 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }" (if "if") (parenthesized_expression "((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0))" (( "(") (binary_expression "(param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)" (parenthesized_expression "(param_3 == (code *******)0x0)" (( "(") (binary_expression "param_3 == (code *******)0x0" (identifier "param_3") (== "==") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(param_1[4] == (code *****)0x0)" (( "(") (binary_expression "param_1[4] == (code *****)0x0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "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 "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n    ppppppcVar20 = param_1;\n    pppppppcVar21 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }" ({ "{") (expression_statement "ppppppcVar20 = param_1;" (assignment_expression "ppppppcVar20 = param_1" (identifier "ppppppcVar20") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pppppppcVar21 = param_2;" (assignment_expression "pppppppcVar21 = param_2" (identifier "pppppppcVar21") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pppppppcStack_80 = unaff_s4;" (assignment_expression "pppppppcStack_80 = unaff_s4" (identifier "pppppppcStack_80") (= "=") (identifier "unaff_s4")) (; ";")) (if_statement "if (param_4 != (code *******)0x0) {\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }" (if "if") (parenthesized_expression "(param_4 != (code *******)0x0)" (( "(") (binary_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"))) () ")")) (compound_statement "{\nLAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }\n      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);\n      ppppppcVar20 = param_1;\n      local_58 = param_4;\n      FUN_000a7bb8();\n      pppppppcStack_80 = unaff_s4;\n    }" ({ "{") (labeled_statement "LAB_000a819c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" (statement_identifier "LAB_000a819c") (: ":") (if_statement "if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }\n      else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" (if "if") (parenthesized_expression "(param_2 == (code *******)0x0)" (( "(") (binary_expression "param_2 == (code *******)0x0" (identifier "param_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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);\n      }" ({ "{") (expression_statement "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);" (assignment_expression "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154)" (identifier "param_3") (= "=") (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154)" (( "(") (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_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154)" (( "(") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x5154")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" (else "else") (compound_statement "{\n        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);\n      }" ({ "{") (expression_statement "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);" (assignment_expression "param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18)" (identifier "param_3") (= "=") (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18)" (( "(") (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_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18)" (( "(") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x5f18")) () ")")))) (; ";")) (} "}"))))) (expression_statement "pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);" (assignment_expression "pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc)" (identifier "pppppppcVar21") (= "=") (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc)" (( "(") (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_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc)" (( "(") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x50fc")) () ")")))) (; ";")) (expression_statement "ppppppcVar20 = param_1;" (assignment_expression "ppppppcVar20 = param_1" (identifier "ppppppcVar20") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" (identifier "local_58") (= "=") (identifier "param_4")) (; ";")) (expression_statement "FUN_000a7bb8();" (call_expression "FUN_000a7bb8()" (identifier "FUN_000a7bb8") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pppppppcStack_80 = unaff_s4;" (assignment_expression "pppppppcStack_80 = unaff_s4" (identifier "pppppppcStack_80") (= "=") (identifier "unaff_s4")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }" (else "else") (compound_statement "{\n    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;\n    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);\n    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);\n    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);\n    unaff_s0 = param_3;\n    pppppppcVar8 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar8;\n    if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }\n  }" ({ "{") (expression_statement "unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;" (assignment_expression "unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0" (identifier "unaff_s1") (= "=") (binary_expression "PTR_LAB_00190bc4 + 0x7cd0" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x7cd0"))) (; ";")) (expression_statement "unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);" (assignment_expression "unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78)" (identifier "unaff_s5") (= "=") (cast_expression "(code *******)(PTR_LAB_00190bc4 + 0x7d78)" (( "(") (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_00190bc4 + 0x7d78)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x7d78" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x7d78")) () ")")))) (; ";")) (expression_statement "pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);" (assignment_expression "pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8)" (identifier "pcVar4") (= "=") (cast_expression "(code *)(PTR_LAB_00190b40 + 0xee8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190b40 + 0xee8)" (( "(") (binary_expression "PTR_LAB_00190b40 + 0xee8" (identifier "PTR_LAB_00190b40") (+ "+") (number_literal "0xee8")) () ")")))) (; ";")) (expression_statement "pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);" (assignment_expression "pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8)" (identifier "pcVar5") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x7bb8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + 0x7bb8)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x7bb8" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x7bb8")) () ")")))) (; ";")) (expression_statement "unaff_s0 = param_3;" (assignment_expression "unaff_s0 = param_3" (identifier "unaff_s0") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pppppppcVar8 = param_4;" (assignment_expression "pppppppcVar8 = param_4" (identifier "pppppppcVar8") (= "=") (identifier "param_4")) (; ";")) (expression_statement "unaff_s3 = unaff_s4;" (assignment_expression "unaff_s3 = unaff_s4" (identifier "unaff_s3") (= "=") (identifier "unaff_s4")) (; ";")) (while_statement "while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }" (while "while") (parenthesized_expression "(ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0)" (( "(") (comma_expression "ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0" (assignment_expression "ppppppcVar20 = param_1" (identifier "ppppppcVar20") (= "=") (identifier "param_1")) (, ",") (comma_expression "pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0" (assignment_expression "pppppppcVar21 = unaff_s0" (identifier "pppppppcVar21") (= "=") (identifier "unaff_s0")) (, ",") (comma_expression "iVar6 = FUN_000a7cd0(),\n          pppppppcStack_80 = unaff_s3, iVar6 == 0" (assignment_expression "iVar6 = FUN_000a7cd0()" (identifier "iVar6") (= "=") (call_expression "FUN_000a7cd0()" (identifier "FUN_000a7cd0") (argument_list "()" (( "(") () ")")))) (, ",") (comma_expression "pppppppcStack_80 = unaff_s3, iVar6 == 0" (assignment_expression "pppppppcStack_80 = unaff_s3" (identifier "pppppppcStack_80") (= "=") (identifier "unaff_s3")) (, ",") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")))))) () ")")) (compound_statement "{\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);\n      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }\n      pppppppcVar21 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }" ({ "{") (expression_statement "param_3 = &local_30;" (assignment_expression "param_3 = &local_30" (identifier "param_3") (= "=") (pointer_expression "&local_30" (& "&") (identifier "local_30"))) (; ";")) (expression_statement "unaff_s3 = (code *******)((int)pppppppcVar8 + -1);" (assignment_expression "unaff_s3 = (code *******)((int)pppppppcVar8 + -1)" (identifier "unaff_s3") (= "=") (cast_expression "(code *******)((int)pppppppcVar8 + -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)pppppppcVar8 + -1)" (( "(") (binary_expression "(int)pppppppcVar8 + -1" (cast_expression "(int)pppppppcVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar8")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);" (assignment_expression "iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0)" (identifier "iVar6") (= "=") (call_expression "(*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0)" (parenthesized_expression "(*(code *)param_1[1][0x33])" (( "(") (pointer_expression "*(code *)param_1[1][0x33]" (* "*") (cast_expression "(code *)param_1[1][0x33]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1][0x33]" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) ([ "[") (number_literal "0x33") (] "]")))) () ")")) (argument_list "(param_1[1],unaff_s0,param_3,0)" (( "(") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "unaff_s0") (, ",") (identifier "param_3") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "pppppppcStack_80 = unaff_s3;" (assignment_expression "pppppppcStack_80 = unaff_s3" (identifier "pppppppcStack_80") (= "=") (identifier "unaff_s3")) (; ";")) (if_statement "if (iVar6 != 0) {\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);\n        ppppppcVar20 = param_1;\n        param_3 = unaff_s0;\n        FUN_000a7bb8();\n        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;\n        pppppcVar7 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_000a8188;\n      }" ({ "{") (expression_statement "pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);" (assignment_expression "pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c)" (identifier "pppppppcVar21") (= "=") (cast_expression "(code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c)" (( "(") (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_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c)" (( "(") (binary_expression "PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c" (identifier "PTR_s_o_page_from_root____pageno_INTEG_0019095c") (+ "+") (number_literal "-0x513c")) () ")")))) (; ";")) (expression_statement "ppppppcVar20 = param_1;" (assignment_expression "ppppppcVar20 = param_1" (identifier "ppppppcVar20") (= "=") (identifier "param_1")) (; ";")) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" (identifier "param_3") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "FUN_000a7bb8();" (call_expression "FUN_000a7bb8()" (identifier "FUN_000a7bb8") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;" (if "if") (parenthesized_expression "(unaff_s3 == (code *******)0x0)" (( "(") (binary_expression "unaff_s3 == (code *******)0x0" (identifier "unaff_s3") (== "==") (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_000a8064;" (goto "goto") (statement_identifier "LAB_000a8064") (; ";"))) (expression_statement "pppppcVar7 = param_1[5];" (assignment_expression "pppppcVar7 = param_1[5]" (identifier "pppppcVar7") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "unaff_s4 = unaff_s3;" (assignment_expression "unaff_s4 = unaff_s3" (identifier "unaff_s4") (= "=") (identifier "unaff_s3")) (; ";")) (goto_statement "goto LAB_000a8188;" (goto "goto") (statement_identifier "LAB_000a8188") (; ";")) (} "}"))) (expression_statement "pppppppcVar21 = (code *******)*param_1;" (assignment_expression "pppppppcVar21 = (code *******)*param_1" (identifier "pppppppcVar21") (= "=") (cast_expression "(code *******)*param_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 "*" (* "*"))))))))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (expression_statement "unaff_s7 = local_30[1];" (assignment_expression "unaff_s7 = local_30[1]" (identifier "unaff_s7") (= "=") (subscript_expression "local_30[1]" (identifier "local_30") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pcVar32 = (code *)((int)pppppppcVar21 + 0x11);" (assignment_expression "pcVar32 = (code *)((int)pppppppcVar21 + 0x11)" (identifier "pcVar32") (= "=") (cast_expression "(code *)((int)pppppppcVar21 + 0x11)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar21 + 0x11)" (( "(") (binary_expression "(int)pppppppcVar21 + 0x11" (cast_expression "(int)pppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar21")) (+ "+") (number_literal "0x11")) () ")")))) (; ";")) (if_statement "if (param_2 == (code *******)0x0) {\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }" (if "if") (parenthesized_expression "(param_2 == (code *******)0x0)" (( "(") (binary_expression "param_2 == (code *******)0x0" (identifier "param_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 "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pppppppcVar21 = (code *******)*unaff_s7;\n        pppppppcVar35 = pppppppcVar21;\n        pppppppcVar8 = unaff_s3;\n        if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }\nLAB_000a8048:\n        ppppppcVar20 = local_30;\n        (*pcVar4)();\n        unaff_s0 = pppppppcVar35;\n      }" ({ "{") (expression_statement "pppppppcVar21 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar21 = (code *******)*unaff_s7" (identifier "pppppppcVar21") (= "=") (cast_expression "(code *******)*unaff_s7" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7")))) (; ";")) (expression_statement "pppppppcVar35 = pppppppcVar21;" (assignment_expression "pppppppcVar35 = pppppppcVar21" (identifier "pppppppcVar35") (= "=") (identifier "pppppppcVar21")) (; ";")) (expression_statement "pppppppcVar8 = unaff_s3;" (assignment_expression "pppppppcVar8 = unaff_s3" (identifier "pppppppcVar8") (= "=") (identifier "unaff_s3")) (; ";")) (if_statement "if ((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }" (if "if") (parenthesized_expression "((*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0))" (( "(") (binary_expression "(*pcVar32 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)" (parenthesized_expression "(*pcVar32 != (code)0x0)" (( "(") (binary_expression "*pcVar32 != (code)0x0" (pointer_expression "*pcVar32" (* "*") (identifier "pcVar32")) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)" (( "(") (comma_expression "param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0" (assignment_expression "param_3 = (code *******)&DAT_00000004" (identifier "param_3") (= "=") (cast_expression "(code *******)&DAT_00000004" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004")))) (, ",") (binary_expression "unaff_s3 != (code *******)0x0" (identifier "unaff_s3") (!= "!=") (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          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          goto LAB_000a7fb8;\n        }" ({ "{") (expression_statement "FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);" (call_expression "FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0)" (identifier "FUN_000a7d78") (argument_list "(param_1,pppppppcVar21,4,unaff_s0)" (( "(") (identifier "param_1") (, ",") (identifier "pppppppcVar21") (, ",") (number_literal "4") (, ",") (identifier "unaff_s0") () ")"))) (; ";")) (expression_statement "pppppppcVar35 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar35 = (code *******)*unaff_s7" (identifier "pppppppcVar35") (= "=") (cast_expression "(code *******)*unaff_s7" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7")))) (; ";")) (goto_statement "goto LAB_000a7fb8;" (goto "goto") (statement_identifier "LAB_000a7fb8") (; ";")) (} "}"))) (labeled_statement "LAB_000a8048:\n        ppppppcVar20 = local_30;" (statement_identifier "LAB_000a8048") (: ":") (expression_statement "ppppppcVar20 = local_30;" (assignment_expression "ppppppcVar20 = local_30" (identifier "ppppppcVar20") (= "=") (identifier "local_30")) (; ";"))) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "unaff_s0 = pppppppcVar35;" (assignment_expression "unaff_s0 = pppppppcVar35" (identifier "unaff_s0") (= "=") (identifier "pppppppcVar35")) (; ";")) (} "}")) (else_clause "else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }" (else "else") (compound_statement "{\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;\n        ppppppcVar20 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_000a8048;\n      }" ({ "{") (expression_statement "unaff_s2 = (code *******)unaff_s7[1];" (assignment_expression "unaff_s2 = (code *******)unaff_s7[1]" (identifier "unaff_s2") (= "=") (cast_expression "(code *******)unaff_s7[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_s7[1]" (identifier "unaff_s7") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (*pcVar32 != (code)0x0) {\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }" (if "if") (parenthesized_expression "(*pcVar32 != (code)0x0)" (( "(") (binary_expression "*pcVar32 != (code)0x0" (pointer_expression "*pcVar32" (* "*") (identifier "pcVar32")) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          param_3 = (code *******)0x2;\n          FUN_000a7d78(param_1,unaff_s0,2,0);\n          pppppppcVar21 = (code *******)*param_1;\n        }" ({ "{") (expression_statement "param_3 = (code *******)0x2;" (assignment_expression "param_3 = (code *******)0x2" (identifier "param_3") (= "=") (cast_expression "(code *******)0x2" (( "(") (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 "0x2"))) (; ";")) (expression_statement "FUN_000a7d78(param_1,unaff_s0,2,0);" (call_expression "FUN_000a7d78(param_1,unaff_s0,2,0)" (identifier "FUN_000a7d78") (argument_list "(param_1,unaff_s0,2,0)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s0") (, ",") (number_literal "2") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "pppppppcVar21 = (code *******)*param_1;" (assignment_expression "pppppppcVar21 = (code *******)*param_1" (identifier "pppppppcVar21") (= "=") (cast_expression "(code *******)*param_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 "*" (* "*"))))))))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (} "}"))) (if_statement "if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" (if "if") (parenthesized_expression "((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2)" (( "(") (binary_expression "(code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2" (cast_expression "(code *******)(((uint)pppppppcVar21[9] >> 2) - 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 "(((uint)pppppppcVar21[9] >> 2) - 2)" (( "(") (binary_expression "((uint)pppppppcVar21[9] >> 2) - 2" (parenthesized_expression "((uint)pppppppcVar21[9] >> 2)" (( "(") (binary_expression "(uint)pppppppcVar21[9] >> 2" (cast_expression "(uint)pppppppcVar21[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppppcVar21[9]" (identifier "pppppppcVar21") ([ "[") (number_literal "9") (] "]"))) (>> ">>") (number_literal "2")) () ")")) (- "-") (number_literal "2")) () ")"))) (< "<") (identifier "unaff_s2")) () ")")) (compound_statement "{\n          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);\n          pppppppcVar21 = (code *******)(puVar39 + -0x5124);\n          (*pcVar5)(param_1);\n          pppppppcVar35 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }" ({ "{") (expression_statement "pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);" (assignment_expression "pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2)" (identifier "pppppppcVar8") (= "=") (cast_expression "(code *******)((int)pppppppcVar8 + -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)pppppppcVar8 + -2)" (( "(") (binary_expression "(int)pppppppcVar8 + -2" (cast_expression "(int)pppppppcVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar8")) (+ "+") (number_literal "-2")) () ")")))) (; ";")) (expression_statement "pppppppcVar21 = (code *******)(puVar39 + -0x5124);" (assignment_expression "pppppppcVar21 = (code *******)(puVar39 + -0x5124)" (identifier "pppppppcVar21") (= "=") (cast_expression "(code *******)(puVar39 + -0x5124)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(puVar39 + -0x5124)" (( "(") (binary_expression "puVar39 + -0x5124" (identifier "puVar39") (+ "+") (number_literal "-0x5124")) () ")")))) (; ";")) (expression_statement "(*pcVar5)(param_1);" (call_expression "(*pcVar5)(param_1)" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "pppppppcVar35 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar35 = (code *******)*unaff_s7" (identifier "pppppppcVar35") (= "=") (cast_expression "(code *******)*unaff_s7" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7")))) (; ";")) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" (identifier "param_3") (= "=") (identifier "unaff_s0")) (; ";")) (} "}")) (else_clause "else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" (else "else") (compound_statement "{\n          if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar35 = (code *******)*unaff_s7;\n          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" ({ "{") (if_statement "if (0 < (int)unaff_s2) {\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }" (if "if") (parenthesized_expression "(0 < (int)unaff_s2)" (( "(") (binary_expression "0 < (int)unaff_s2" (number_literal "0") (< "<") (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2"))) () ")")) (compound_statement "{\n            pppppcVar33 = unaff_s7 + 2;\n            pppppcVar7 = pppppcVar33 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }\n          }" ({ "{") (expression_statement "pppppcVar33 = unaff_s7 + 2;" (assignment_expression "pppppcVar33 = unaff_s7 + 2" (identifier "pppppcVar33") (= "=") (binary_expression "unaff_s7 + 2" (identifier "unaff_s7") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pppppcVar7 = pppppcVar33 + (int)unaff_s2;" (assignment_expression "pppppcVar7 = pppppcVar33 + (int)unaff_s2" (identifier "pppppcVar7") (= "=") (binary_expression "pppppcVar33 + (int)unaff_s2" (identifier "pppppcVar33") (+ "+") (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")))) (; ";")) (while_statement "while( true ) {\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              pppppppcVar8 = (code *******)*pppppcVar33;\n              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              if (pppppcVar33 + 1 == pppppcVar7) break;\n              pppppcVar33 = pppppcVar33 + 1;\n              pppppppcVar21 = (code *******)*param_1;\n            }" ({ "{") (expression_statement "pppppppcVar8 = (code *******)*pppppcVar33;" (assignment_expression "pppppppcVar8 = (code *******)*pppppcVar33" (identifier "pppppppcVar8") (= "=") (cast_expression "(code *******)*pppppcVar33" (( "(") (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 "*pppppcVar33" (* "*") (identifier "pppppcVar33")))) (; ";")) (if_statement "if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }\n              else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }" (if "if") (parenthesized_expression "(*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0)" (( "(") (binary_expression "*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar21 + 0x11)" (* "*") (cast_expression "(code *)((int)pppppppcVar21 + 0x11)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar21 + 0x11)" (( "(") (binary_expression "(int)pppppppcVar21 + 0x11" (cast_expression "(int)pppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar21")) (+ "+") (number_literal "0x11")) () ")")))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }" ({ "{") (expression_statement "FUN_000a7cd0(param_1);" (call_expression "FUN_000a7cd0(param_1)" (identifier "FUN_000a7cd0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "pppppppcVar21 = pppppppcVar8;" (assignment_expression "pppppppcVar21 = pppppppcVar8" (identifier "pppppppcVar21") (= "=") (identifier "pppppppcVar8")) (; ";")) (} "}")) (else_clause "else {\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }" (else "else") (compound_statement "{\n                param_3 = (code *******)0x2;\n                FUN_000a7d78(param_1,pppppppcVar8,2,0);\n                FUN_000a7cd0(param_1);\n                pppppppcVar21 = pppppppcVar8;\n              }" ({ "{") (expression_statement "param_3 = (code *******)0x2;" (assignment_expression "param_3 = (code *******)0x2" (identifier "param_3") (= "=") (cast_expression "(code *******)0x2" (( "(") (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 "0x2"))) (; ";")) (expression_statement "FUN_000a7d78(param_1,pppppppcVar8,2,0);" (call_expression "FUN_000a7d78(param_1,pppppppcVar8,2,0)" (identifier "FUN_000a7d78") (argument_list "(param_1,pppppppcVar8,2,0)" (( "(") (identifier "param_1") (, ",") (identifier "pppppppcVar8") (, ",") (number_literal "2") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_000a7cd0(param_1);" (call_expression "FUN_000a7cd0(param_1)" (identifier "FUN_000a7cd0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "pppppppcVar21 = pppppppcVar8;" (assignment_expression "pppppppcVar21 = pppppppcVar8" (identifier "pppppppcVar21") (= "=") (identifier "pppppppcVar8")) (; ";")) (} "}")))) (if_statement "if (pppppcVar33 + 1 == pppppcVar7) break;" (if "if") (parenthesized_expression "(pppppcVar33 + 1 == pppppcVar7)" (( "(") (binary_expression "pppppcVar33 + 1 == pppppcVar7" (binary_expression "pppppcVar33 + 1" (identifier "pppppcVar33") (+ "+") (number_literal "1")) (== "==") (identifier "pppppcVar7")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pppppcVar33 = pppppcVar33 + 1;" (assignment_expression "pppppcVar33 = pppppcVar33 + 1" (identifier "pppppcVar33") (= "=") (binary_expression "pppppcVar33 + 1" (identifier "pppppcVar33") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppppcVar21 = (code *******)*param_1;" (assignment_expression "pppppppcVar21 = (code *******)*param_1" (identifier "pppppppcVar21") (= "=") (cast_expression "(code *******)*param_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 "*" (* "*"))))))))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (} "}"))) (} "}"))) (expression_statement "pppppppcVar35 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar35 = (code *******)*unaff_s7" (identifier "pppppppcVar35") (= "=") (cast_expression "(code *******)*unaff_s7" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7")))) (; ";")) (expression_statement "pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);" (assignment_expression "pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2)" (identifier "pppppppcVar8") (= "=") (cast_expression "(code *******)((int)unaff_s3 - (int)unaff_s2)" (( "(") (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)unaff_s3 - (int)unaff_s2)" (( "(") (binary_expression "(int)unaff_s3 - (int)unaff_s2" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (- "-") (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2"))) () ")")))) (; ";")) (} "}")))) (labeled_statement "LAB_000a7fb8:\n        unaff_s0 = pppppppcVar35;" (statement_identifier "LAB_000a7fb8") (: ":") (expression_statement "unaff_s0 = pppppppcVar35;" (assignment_expression "unaff_s0 = pppppppcVar35" (identifier "unaff_s0") (= "=") (identifier "pppppppcVar35")) (; ";"))) (expression_statement "ppppppcVar20 = local_30;" (assignment_expression "ppppppcVar20 = local_30" (identifier "ppppppcVar20") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_30 != (code ******)0x0) goto LAB_000a8048;" (if "if") (parenthesized_expression "(local_30 != (code ******)0x0)" (( "(") (binary_expression "local_30 != (code ******)0x0" (identifier "local_30") (!= "!=") (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_000a8048;" (goto "goto") (statement_identifier "LAB_000a8048") (; ";"))) (} "}")))) (if_statement "if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;" (if "if") (parenthesized_expression "((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0))" (( "(") (binary_expression "(unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)" (parenthesized_expression "(unaff_s0 == (code *******)0x0)" (( "(") (binary_expression "unaff_s0 == (code *******)0x0" (identifier "unaff_s0") (== "==") (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 "(param_1[4] == (code *****)0x0)" (( "(") (binary_expression "param_1[4] == (code *****)0x0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "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 "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (expression_statement "unaff_s3 = pppppppcVar8;" (assignment_expression "unaff_s3 = pppppppcVar8" (identifier "unaff_s3") (= "=") (identifier "pppppppcVar8")) (; ";")) (if_statement "if (pppppppcVar8 != (code *******)0x0) {\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }" (if "if") (parenthesized_expression "(pppppppcVar8 != (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"))) () ")")) (compound_statement "{\n      pppppcVar7 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_000a8188:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;\n    }" ({ "{") (expression_statement "pppppcVar7 = param_1[5];" (assignment_expression "pppppcVar7 = param_1[5]" (identifier "pppppcVar7") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "unaff_s4 = pppppppcStack_80;" (assignment_expression "unaff_s4 = pppppppcStack_80" (identifier "unaff_s4") (= "=") (identifier "pppppppcStack_80")) (; ";")) (labeled_statement "LAB_000a8188:\n      pppppppcStack_80 = unaff_s4;" (statement_identifier "LAB_000a8188") (: ":") (expression_statement "pppppppcStack_80 = unaff_s4;" (assignment_expression "pppppppcStack_80 = unaff_s4" (identifier "pppppppcStack_80") (= "=") (identifier "unaff_s4")) (; ";"))) (if_statement "if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;" (if "if") (parenthesized_expression "(pppppcVar7 == pppppcVar15)" (( "(") (binary_expression "pppppcVar7 == pppppcVar15" (identifier "pppppcVar7") (== "==") (identifier "pppppcVar15")) () ")")) (goto_statement "goto LAB_000a819c;" (goto "goto") (statement_identifier "LAB_000a819c") (; ";"))) (} "}"))) (} "}")))) (labeled_statement "LAB_000a8064:\n  if (local_2c == *(code *****)puVar3) {\n    return *(code *****)puVar3;\n  }" (statement_identifier "LAB_000a8064") (: ":") (if_statement "if (local_2c == *(code *****)puVar3) {\n    return *(code *****)puVar3;\n  }" (if "if") (parenthesized_expression "(local_2c == *(code *****)puVar3)" (( "(") (binary_expression "local_2c == *(code *****)puVar3" (identifier "local_2c") (== "==") (pointer_expression "*(code *****)puVar3" (* "*") (cast_expression "(code *****)puVar3" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "puVar3")))) () ")")) (compound_statement "{\n    return *(code *****)puVar3;\n  }" ({ "{") (return_statement "return *(code *****)puVar3;" (return "return") (pointer_expression "*(code *****)puVar3" (* "*") (cast_expression "(code *****)puVar3" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "puVar3"))) (; ";")) (} "}")))) (expression_statement "pcVar4 = FUN_000a822c;" (assignment_expression "pcVar4 = FUN_000a822c" (identifier "pcVar4") (= "=") (identifier "FUN_000a822c")) (; ";")) (expression_statement "puVar39 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar39 = PTR___stack_chk_fail_00190df8" (identifier "puVar39") (= "=") (identifier "PTR___stack_chk_fail_00190df8")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00190df8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00190df8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_120 = puVar39 + 0xf06f4;" (assignment_expression "puStack_120 = puVar39 + 0xf06f4" (identifier "puStack_120") (= "=") (binary_expression "puVar39 + 0xf06f4" (identifier "puVar39") (+ "+") (number_literal "0xf06f4"))) (; ";")) (expression_statement "piVar30 = *(int **)(puVar39 + 0xe8bf8);" (assignment_expression "piVar30 = *(int **)(puVar39 + 0xe8bf8)" (identifier "piVar30") (= "=") (pointer_expression "*(int **)(puVar39 + 0xe8bf8)" (* "*") (cast_expression "(int **)(puVar39 + 0xe8bf8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar39 + 0xe8bf8)" (( "(") (binary_expression "puVar39 + 0xe8bf8" (identifier "puVar39") (+ "+") (number_literal "0xe8bf8")) () ")"))))) (; ";")) (expression_statement "pbStack_b4 = (byte *)0x0;" (assignment_expression "pbStack_b4 = (byte *)0x0" (identifier "pbStack_b4") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppcStack_94 = (code ******)*piVar30;" (assignment_expression "ppppppcStack_94 = (code ******)*piVar30" (identifier "ppppppcStack_94") (= "=") (cast_expression "(code ******)*piVar30" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*piVar30" (* "*") (identifier "piVar30")))) (; ";")) (expression_statement "pppppppcVar8 = param_3;" (assignment_expression "pppppppcVar8 = param_3" (identifier "pppppppcVar8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pppppppcVar35 = pppppppcStack_80;" (assignment_expression "pppppppcVar35 = pppppppcStack_80" (identifier "pppppppcVar35") (= "=") (identifier "pppppppcStack_80")) (; ";")) (expression_statement "pppppppcStack_90 = unaff_s0;" (assignment_expression "pppppppcStack_90 = unaff_s0" (identifier "pppppppcStack_90") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "puStack_8c = unaff_s1;" (assignment_expression "puStack_8c = unaff_s1" (identifier "puStack_8c") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "pppppppcStack_88 = unaff_s2;" (assignment_expression "pppppppcStack_88 = unaff_s2" (identifier "pppppppcStack_88") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "pppppppcStack_84 = unaff_s3;" (assignment_expression "pppppppcStack_84 = unaff_s3" (identifier "pppppppcStack_84") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "pppppppcStack_7c = unaff_s5;" (assignment_expression "pppppppcStack_7c = unaff_s5" (identifier "pppppppcStack_7c") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "pppppppcStack_78 = param_2;" (assignment_expression "pppppppcStack_78 = param_2" (identifier "pppppppcStack_78") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pppppcStack_74 = unaff_s7;" (assignment_expression "pppppcStack_74 = unaff_s7" (identifier "pppppcStack_74") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "ppppppcStack_70 = param_1;" (assignment_expression "ppppppcStack_70 = param_1" (identifier "ppppppcStack_70") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pcStack_6c = pcVar4;" (assignment_expression "pcStack_6c = pcVar4" (identifier "pcStack_6c") (= "=") (identifier "pcVar4")) (; ";")) (if_statement "if (pppppppcVar21 == (code *******)0x0) {\nLAB_000a8280:\n    ppppcVar34 = (code ****)0x0;\n    ppppppcVar20 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }" (if "if") (parenthesized_expression "(pppppppcVar21 == (code *******)0x0)" (( "(") (binary_expression "pppppppcVar21 == (code *******)0x0" (identifier "pppppppcVar21") (== "==") (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_000a8280:\n    ppppcVar34 = (code ****)0x0;\n    ppppppcVar20 = param_1;\n  }" ({ "{") (labeled_statement "LAB_000a8280:\n    ppppcVar34 = (code ****)0x0;" (statement_identifier "LAB_000a8280") (: ":") (expression_statement "ppppcVar34 = (code ****)0x0;" (assignment_expression "ppppcVar34 = (code ****)0x0" (identifier "ppppcVar34") (= "=") (cast_expression "(code ****)0x0" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "ppppppcVar20 = param_1;" (assignment_expression "ppppppcVar20 = param_1" (identifier "ppppppcVar20") (= "=") (identifier "param_1")) (; ";")) (} "}")) (else_clause "else {\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }" (else "else") (compound_statement "{\n    pppppcStack_114 = ppppppcVar20[7];\n    pppppppcVar35 = (code *******)*ppppppcVar20;\n    pppppcStack_110 = ppppppcVar20[8];\n    pppppcStack_10c = ppppppcVar20[9];\n    ppppppcStack_118 = pppppppcVar35[9];\n    iVar6 = FUN_000a7cd0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar20;\n    if (iVar6 != 0) goto LAB_000a8280;\n    iVar6 = *(int *)(puStack_120 + -0x7fc4);\n    iVar10 = *(int *)(puStack_120 + -0x7de0);\n    ppppppcVar20[8] = (code *****)pppppppcVar21;\n    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);\n    pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);\n    if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }\nLAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar20[7] = pppppcStack_114;\n    ppppppcVar20[8] = pppppcStack_110;\n    ppppppcVar20[9] = pppppcStack_10c;\n  }" ({ "{") (expression_statement "pppppcStack_114 = ppppppcVar20[7];" (assignment_expression "pppppcStack_114 = ppppppcVar20[7]" (identifier "pppppcStack_114") (= "=") (subscript_expression "ppppppcVar20[7]" (identifier "ppppppcVar20") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "pppppppcVar35 = (code *******)*ppppppcVar20;" (assignment_expression "pppppppcVar35 = (code *******)*ppppppcVar20" (identifier "pppppppcVar35") (= "=") (cast_expression "(code *******)*ppppppcVar20" (( "(") (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 "*ppppppcVar20" (* "*") (identifier "ppppppcVar20")))) (; ";")) (expression_statement "pppppcStack_110 = ppppppcVar20[8];" (assignment_expression "pppppcStack_110 = ppppppcVar20[8]" (identifier "pppppcStack_110") (= "=") (subscript_expression "ppppppcVar20[8]" (identifier "ppppppcVar20") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "pppppcStack_10c = ppppppcVar20[9];" (assignment_expression "pppppcStack_10c = ppppppcVar20[9]" (identifier "pppppcStack_10c") (= "=") (subscript_expression "ppppppcVar20[9]" (identifier "ppppppcVar20") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "ppppppcStack_118 = pppppppcVar35[9];" (assignment_expression "ppppppcStack_118 = pppppppcVar35[9]" (identifier "ppppppcStack_118") (= "=") (subscript_expression "pppppppcVar35[9]" (identifier "pppppppcVar35") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "iVar6 = FUN_000a7cd0();" (assignment_expression "iVar6 = FUN_000a7cd0()" (identifier "iVar6") (= "=") (call_expression "FUN_000a7cd0()" (identifier "FUN_000a7cd0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "unaff_s5 = param_3;" (assignment_expression "unaff_s5 = param_3" (identifier "unaff_s5") (= "=") (identifier "param_3")) (; ";")) (expression_statement "param_1 = ppppppcVar20;" (assignment_expression "param_1 = ppppppcVar20" (identifier "param_1") (= "=") (identifier "ppppppcVar20")) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_000a8280;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a8280;" (goto "goto") (statement_identifier "LAB_000a8280") (; ";"))) (expression_statement "iVar6 = *(int *)(puStack_120 + -0x7fc4);" (assignment_expression "iVar6 = *(int *)(puStack_120 + -0x7fc4)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fc4)" (( "(") (binary_expression "puStack_120 + -0x7fc4" (identifier "puStack_120") (+ "+") (number_literal "-0x7fc4")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(puStack_120 + -0x7de0);" (assignment_expression "iVar10 = *(int *)(puStack_120 + -0x7de0)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(puStack_120 + -0x7de0)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7de0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7de0)" (( "(") (binary_expression "puStack_120 + -0x7de0" (identifier "puStack_120") (+ "+") (number_literal "-0x7de0")) () ")"))))) (; ";")) (expression_statement "ppppppcVar20[8] = (code *****)pppppppcVar21;" (assignment_expression "ppppppcVar20[8] = (code *****)pppppppcVar21" (subscript_expression "ppppppcVar20[8]" (identifier "ppppppcVar20") ([ "[") (number_literal "8") (] "]")) (= "=") (cast_expression "(code *****)pppppppcVar21" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "pppppppcVar21"))) (; ";")) (expression_statement "ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);" (assignment_expression "ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0)" (subscript_expression "ppppppcVar20[7]" (identifier "ppppppcVar20") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(code *****)(iVar6 + -0x50e0)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar6 + -0x50e0)" (( "(") (binary_expression "iVar6 + -0x50e0" (identifier "iVar6") (+ "+") (number_literal "-0x50e0")) () ")")))) (; ";")) (expression_statement "pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);" (assignment_expression "pppppppcVar8 = (code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0)" (identifier "pppppppcVar8") (= "=") (cast_expression "(code *******)\n                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0)" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0)" (parenthesized_expression "(*(code *)(iVar10 + 0x1420))" (( "(") (pointer_expression "*(code *)(iVar10 + 0x1420)" (* "*") (cast_expression "(code *)(iVar10 + 0x1420)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + 0x1420)" (( "(") (binary_expression "iVar10 + 0x1420" (identifier "iVar10") (+ "+") (number_literal "0x1420")) () ")")))) () ")")) (argument_list "(pppppppcVar35,pppppppcVar21,&pbStack_b4,0)" (( "(") (identifier "pppppppcVar35") (, ",") (identifier "pppppppcVar21") (, ",") (pointer_expression "&pbStack_b4" (& "&") (identifier "pbStack_b4")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (pppppppcVar8 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }" (if "if") (parenthesized_expression "(pppppppcVar8 == (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"))) () ")")) (compound_statement "{\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar1 = pbStack_b4[9];\n      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);\n      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);\n      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);\n      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);\n      if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar24 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }" ({ "{") (expression_statement "uStack_f0 = (uint)*pbStack_b4;" (assignment_expression "uStack_f0 = (uint)*pbStack_b4" (identifier "uStack_f0") (= "=") (binary_expression "(uint)*pbStack_b4" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbStack_b4"))) (; ";")) (expression_statement "*pbStack_b4 = 0;" (assignment_expression "*pbStack_b4 = 0" (pointer_expression "*pbStack_b4" (* "*") (identifier "pbStack_b4")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);" (assignment_expression "pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4)" (identifier "pppppppcStack_dc") (= "=") (cast_expression "(code *******)FUN_0008d10c(pbStack_b4)" (( "(") (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 "FUN_0008d10c(pbStack_b4)" (identifier "FUN_0008d10c") (argument_list "(pbStack_b4)" (( "(") (identifier "pbStack_b4") () ")"))))) (; ";")) (if_statement "if (pppppppcStack_dc != (code *******)0x0) {\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }" (if "if") (parenthesized_expression "(pppppppcStack_dc != (code *******)0x0)" (( "(") (binary_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"))) () ")")) (compound_statement "{\n        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;\n        pppppppcVar8 = pppppppcStack_dc;\n        goto LAB_000a86a4;\n      }" ({ "{") (expression_statement "iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;" (assignment_expression "iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac" (identifier "iVar6") (= "=") (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x50ac" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fc4)" (( "(") (binary_expression "puStack_120 + -0x7fc4" (identifier "puStack_120") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x50ac"))) (; ";")) (expression_statement "pppppppcVar8 = pppppppcStack_dc;" (assignment_expression "pppppppcVar8 = pppppppcStack_dc" (identifier "pppppppcVar8") (= "=") (identifier "pppppppcStack_dc")) (; ";")) (goto_statement "goto LAB_000a86a4;" (goto "goto") (statement_identifier "LAB_000a86a4") (; ";")) (} "}"))) (expression_statement "param_2 = *(code ********)(pbStack_b4 + 0x38);" (assignment_expression "param_2 = *(code ********)(pbStack_b4 + 0x38)" (identifier "param_2") (= "=") (pointer_expression "*(code ********)(pbStack_b4 + 0x38)" (* "*") (cast_expression "(code ********)(pbStack_b4 + 0x38)" (( "(") (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 "*" (* "*")))))))))) () ")") (parenthesized_expression "(pbStack_b4 + 0x38)" (( "(") (binary_expression "pbStack_b4 + 0x38" (identifier "pbStack_b4") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "bVar1 = pbStack_b4[9];" (assignment_expression "bVar1 = pbStack_b4[9]" (identifier "bVar1") (= "=") (subscript_expression "pbStack_b4[9]" (identifier "pbStack_b4") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);" (assignment_expression "ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084)" (subscript_expression "ppppppcVar20[7]" (identifier "ppppppcVar20") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(*(int *)(puStack_120 + -0x7fc4) + -0x5084)" (( "(") (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x5084" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fc4)" (( "(") (binary_expression "puStack_120 + -0x7fc4" (identifier "puStack_120") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x5084")) () ")")))) (; ";")) (expression_statement "pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);" (assignment_expression "pcStack_d4 = (code *)((int)param_2 + (uint)bVar1)" (identifier "pcStack_d4") (= "=") (cast_expression "(code *)((int)param_2 + (uint)bVar1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + (uint)bVar1)" (( "(") (binary_expression "(int)param_2 + (uint)bVar1" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1"))) () ")")))) (; ";")) (expression_statement "iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;" (assignment_expression "iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4" (identifier "iStack_c4") (= "=") (binary_expression "bVar1 + 0xc + (uint)pbStack_b4[8] * -4" (binary_expression "bVar1 + 0xc" (identifier "bVar1") (+ "+") (number_literal "0xc")) (+ "+") (binary_expression "(uint)pbStack_b4[8] * -4" (cast_expression "(uint)pbStack_b4[8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbStack_b4[8]" (identifier "pbStack_b4") ([ "[") (number_literal "8") (] "]"))) (* "*") (number_literal "-4")))) (; ";")) (expression_statement "pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);" (assignment_expression "pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1)" (identifier "pppppppcStack_ec") (= "=") (cast_expression "(code *******)(*(ushort *)(pcStack_d4 + 3) - 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 "(*(ushort *)(pcStack_d4 + 3) - 1)" (( "(") (binary_expression "*(ushort *)(pcStack_d4 + 3) - 1" (pointer_expression "*(ushort *)(pcStack_d4 + 3)" (* "*") (cast_expression "(ushort *)(pcStack_d4 + 3)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d4 + 3)" (( "(") (binary_expression "pcStack_d4 + 3" (identifier "pcStack_d4") (+ "+") (number_literal "3")) () ")")))) (- "-") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);" (assignment_expression "pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1)" (identifier "pppppppcVar8") (= "=") (cast_expression "(code *******)(*(ushort *)(pcStack_d4 + 5) - 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 "(*(ushort *)(pcStack_d4 + 5) - 1)" (( "(") (binary_expression "*(ushort *)(pcStack_d4 + 5) - 1" (pointer_expression "*(ushort *)(pcStack_d4 + 5)" (* "*") (cast_expression "(ushort *)(pcStack_d4 + 5)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d4 + 5)" (( "(") (binary_expression "pcStack_d4 + 5" (identifier "pcStack_d4") (+ "+") (number_literal "5")) () ")")))) (- "-") (number_literal "1")) () ")")))) (; ";")) (expression_statement "ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);" (assignment_expression "ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff)" (identifier "ppppcStack_c8") (= "=") (cast_expression "(code ****)((uint)pppppppcVar8 & 0xffff)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((uint)pppppppcVar8 & 0xffff)" (( "(") (binary_expression "(uint)pppppppcVar8 & 0xffff" (cast_expression "(uint)pppppppcVar8" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar8")) (& "&") (number_literal "0xffff")) () ")")))) (; ";")) (expression_statement "pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);" (assignment_expression "pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4)" (identifier "pcStack_e4") (= "=") (cast_expression "(code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4)" (( "(") (binary_expression "(int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4" (binary_expression "(int)param_2 + (int)pppppppcStack_ec * 2" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (binary_expression "(int)pppppppcStack_ec * 2" (cast_expression "(int)pppppppcStack_ec" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_ec")) (* "*") (number_literal "2"))) (+ "+") (identifier "iStack_c4")) () ")")))) (; ";")) (expression_statement "pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);" (assignment_expression "pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1)" (identifier "pppppppcStack_d8") (= "=") (cast_expression "(code *******)((int)ppppcStack_c8 + 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)ppppcStack_c8 + 1)" (( "(") (binary_expression "(int)ppppcStack_c8 + 1" (cast_expression "(int)ppppcStack_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcStack_c8")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (pbStack_b4[8] == 0) {\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" (if "if") (parenthesized_expression "(pbStack_b4[8] == 0)" (( "(") (binary_expression "pbStack_b4[8] == 0" (subscript_expression "pbStack_b4[8]" (identifier "pbStack_b4") ([ "[") (number_literal "8") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar42 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }\n        pppppppcVar8 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);\n        iStack_104 = 0;\n      }" ({ "{") (expression_statement "uVar42 = *(undefined4 *)(pcStack_d4 + 8);" (assignment_expression "uVar42 = *(undefined4 *)(pcStack_d4 + 8)" (identifier "uVar42") (= "=") (pointer_expression "*(undefined4 *)(pcStack_d4 + 8)" (* "*") (cast_expression "(undefined4 *)(pcStack_d4 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d4 + 8)" (( "(") (binary_expression "pcStack_d4 + 8" (identifier "pcStack_d4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }" (if "if") (parenthesized_expression "(*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0)" (( "(") (binary_expression "*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar35 + 0x11)" (* "*") (cast_expression "(code *)((int)pppppppcVar35 + 0x11)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar35 + 0x11)" (( "(") (binary_expression "(int)pppppppcVar35 + 0x11" (cast_expression "(int)pppppppcVar35" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar35")) (+ "+") (number_literal "0x11")) () ")")))) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);\n          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);\n        }" ({ "{") (expression_statement "ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);" (assignment_expression "ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068)" (subscript_expression "ppppppcVar20[7]" (identifier "ppppppcVar20") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(*(int *)(puStack_120 + -0x7fc4) + -0x5068)" (( "(") (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x5068" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fc4)" (( "(") (binary_expression "puStack_120 + -0x7fc4" (identifier "puStack_120") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x5068")) () ")")))) (; ";")) (expression_statement "FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);" (call_expression "FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21)" (identifier "FUN_000a7d78") (argument_list "(ppppppcVar20,uVar42,5,pppppppcVar21)" (( "(") (identifier "ppppppcVar20") (, ",") (identifier "uVar42") (, ",") (number_literal "5") (, ",") (identifier "pppppppcVar21") () ")"))) (; ";")) (} "}"))) (expression_statement "pppppppcVar8 = (code *******)&local_58;" (assignment_expression "pppppppcVar8 = (code *******)&local_58" (identifier "pppppppcVar8") (= "=") (cast_expression "(code *******)&local_58" (( "(") (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_58" (& "&") (identifier "local_58")))) (; ";")) (expression_statement "ppppppcStack_124 = ppppppcStack_54;" (assignment_expression "ppppppcStack_124 = ppppppcStack_54" (identifier "ppppppcStack_124") (= "=") (identifier "ppppppcStack_54")) (; ";")) (expression_statement "unaff_s7 = (code *****)0x0;" (assignment_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 "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppcStack_128 = local_58;" (assignment_expression "pppppppcStack_128 = local_58" (identifier "pppppppcStack_128") (= "=") (identifier "local_58")) (; ";")) (expression_statement "iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);" (assignment_expression "iStack_108 = FUN_000a822c(ppppppcVar20,uVar42)" (identifier "iStack_108") (= "=") (call_expression "FUN_000a822c(ppppppcVar20,uVar42)" (identifier "FUN_000a822c") (argument_list "(ppppppcVar20,uVar42)" (( "(") (identifier "ppppppcVar20") (, ",") (identifier "uVar42") () ")")))) (; ";")) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" (identifier "iStack_104") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" (else "else") (compound_statement "{\n        unaff_s7 = ppppppcVar20[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" ({ "{") (expression_statement "unaff_s7 = ppppppcVar20[0x10];" (assignment_expression "unaff_s7 = ppppppcVar20[0x10]" (identifier "unaff_s7") (= "=") (subscript_expression "ppppppcVar20[0x10]" (identifier "ppppppcVar20") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (expression_statement "iStack_104 = 1;" (assignment_expression "iStack_104 = 1" (identifier "iStack_104") (= "=") (number_literal "1")) (; ";")) (expression_statement "*unaff_s7 = (code ****)0x0;" (assignment_expression "*unaff_s7 = (code ****)0x0" (pointer_expression "*unaff_s7" (* "*") (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 "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iStack_108 = -1;" (assignment_expression "iStack_108 = -1" (identifier "iStack_108") (= "=") (number_literal "-1")) (; ";")) (} "}")))) (expression_statement "pppppppcVar24 = pppppppcStack_d8;" (assignment_expression "pppppppcVar24 = pppppppcStack_d8" (identifier "pppppppcVar24") (= "=") (identifier "pppppppcStack_d8")) (; ";")) (expression_statement "unaff_s2 = pppppppcStack_ec;" (assignment_expression "unaff_s2 = pppppppcStack_ec" (identifier "unaff_s2") (= "=") (identifier "pppppppcStack_ec")) (; ";")) (if_statement "if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }\n      else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" (if "if") (parenthesized_expression "((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0))" (( "(") (binary_expression "(pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)" (parenthesized_expression "(pppppppcStack_ec == (code *******)0xffffffff)" (( "(") (binary_expression "pppppppcStack_ec == (code *******)0xffffffff" (identifier "pppppppcStack_ec") (== "==") (cast_expression "(code *******)0xffffffff" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0xffffffff"))) () ")")) (|| "||") (parenthesized_expression "(ppppppcVar20[4] == (code *****)0x0)" (( "(") (binary_expression "ppppppcVar20[4] == (code *****)0x0" (subscript_expression "ppppppcVar20[4]" (identifier "ppppppcVar20") ([ "[") (number_literal "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 "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\nLAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }\n      }" ({ "{") (expression_statement "ppppcVar34 = (code ****)(iStack_108 + 1);" (assignment_expression "ppppcVar34 = (code ****)(iStack_108 + 1)" (identifier "ppppcVar34") (= "=") (cast_expression "(code ****)(iStack_108 + 1)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(iStack_108 + 1)" (( "(") (binary_expression "iStack_108 + 1" (identifier "iStack_108") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_3[1] = ppppppcStack_54;" (assignment_expression "param_3[1] = ppppppcStack_54" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "ppppppcStack_54")) (; ";")) (expression_statement "*param_3 = (code ******)local_58;" (assignment_expression "*param_3 = (code ******)local_58" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (cast_expression "(code ******)local_58" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_58"))) (; ";")) (expression_statement "ppppppcVar20[7] = (code *****)0x0;" (assignment_expression "ppppppcVar20[7] = (code *****)0x0" (subscript_expression "ppppppcVar20[7]" (identifier "ppppppcVar20") ([ "[") (number_literal "7") (] "]")) (= "=") (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"))) (; ";")) (labeled_statement "LAB_000a878c:\n        if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }" (statement_identifier "LAB_000a878c") (: ":") (if_statement "if (0 < (int)ppppppcVar20[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }" (if "if") (parenthesized_expression "(0 < (int)ppppppcVar20[4])" (( "(") (binary_expression "0 < (int)ppppppcVar20[4]" (number_literal "0") (< "<") (cast_expression "(int)ppppppcVar20[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar20[4]" (identifier "ppppppcVar20") ([ "[") (number_literal "4") (] "]")))) () ")")) (compound_statement "{\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }\n          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);\n          if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }\n          ppppcVar22 = *unaff_s7;\n          pppppppcVar24 = pppppppcStack_dc;\n          ppppcVar28 = ppppcStack_c8;\n          if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);\n          pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);\nLAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }\n        }" ({ "{") (if_statement "if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }" (if "if") (parenthesized_expression "(pbStack_b4[8] == 0)" (( "(") (binary_expression "pbStack_b4[8] == 0" (subscript_expression "pbStack_b4[8]" (identifier "pbStack_b4") ([ "[") (number_literal "8") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            unaff_s7 = ppppppcVar20[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }\n          }" ({ "{") (expression_statement "unaff_s7 = ppppppcVar20[0x10];" (assignment_expression "unaff_s7 = ppppppcVar20[0x10]" (identifier "unaff_s7") (= "=") (subscript_expression "ppppppcVar20[0x10]" (identifier "ppppppcVar20") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (expression_statement "*unaff_s7 = (code ****)0x0;" (assignment_expression "*unaff_s7 = (code ****)0x0" (pointer_expression "*unaff_s7" (* "*") (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 "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }" (if "if") (parenthesized_expression "(pppppppcStack_ec != (code *******)0xffffffff)" (( "(") (binary_expression "pppppppcStack_ec != (code *******)0xffffffff" (identifier "pppppppcStack_ec") (!= "!=") (cast_expression "(code *******)0xffffffff" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n              iVar6 = iStack_c4 + -2;\n              pcVar4 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar21;\n              do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);\n            }" ({ "{") (expression_statement "unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);" (assignment_expression "unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738)" (identifier "unaff_s5") (= "=") (cast_expression "(code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738)" (( "(") (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_120 + -0x7de0) + 0x1738)" (( "(") (binary_expression "*(int *)(puStack_120 + -0x7de0) + 0x1738" (pointer_expression "*(int *)(puStack_120 + -0x7de0)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7de0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7de0)" (( "(") (binary_expression "puStack_120 + -0x7de0" (identifier "puStack_120") (+ "+") (number_literal "-0x7de0")) () ")")))) (+ "+") (number_literal "0x1738")) () ")")))) (; ";")) (expression_statement "iVar6 = iStack_c4 + -2;" (assignment_expression "iVar6 = iStack_c4 + -2" (identifier "iVar6") (= "=") (binary_expression "iStack_c4 + -2" (identifier "iStack_c4") (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "pcVar4 = pcStack_e4;" (assignment_expression "pcVar4 = pcStack_e4" (identifier "pcVar4") (= "=") (identifier "pcStack_e4")) (; ";")) (expression_statement "pppppppcStack_64 = pppppppcVar21;" (assignment_expression "pppppppcStack_64 = pppppppcVar21" (identifier "pppppppcStack_64") (= "=") (identifier "pppppppcVar21")) (; ";")) (do_statement "do {\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar6) != pcVar5);" (do "do") (compound_statement "{\n                pcVar5 = pcVar4 + -2;\n                uVar23 = (uint)*(ushort *)pcVar4;\n                iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));\n                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);\n                pcVar4 = pcVar5;\n                pppppppcVar21 = pppppppcStack_64;\n              }" ({ "{") (expression_statement "pcVar5 = pcVar4 + -2;" (assignment_expression "pcVar5 = pcVar4 + -2" (identifier "pcVar5") (= "=") (binary_expression "pcVar4 + -2" (identifier "pcVar4") (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "uVar23 = (uint)*(ushort *)pcVar4;" (assignment_expression "uVar23 = (uint)*(ushort *)pcVar4" (identifier "uVar23") (= "=") (binary_expression "(uint)*(ushort *)pcVar4" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)pcVar4" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar4")))) (; ";")) (expression_statement "iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23));" (assignment_expression "iVar10 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23))" (identifier "iVar10") (= "=") (call_expression "(**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar23))" (parenthesized_expression "(**(code **)(pbStack_b4 + 0x4c))" (( "(") (pointer_expression "**(code **)(pbStack_b4 + 0x4c)" (* "*") (pointer_expression "*(code **)(pbStack_b4 + 0x4c)" (* "*") (cast_expression "(code **)(pbStack_b4 + 0x4c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbStack_b4 + 0x4c)" (( "(") (binary_expression "pbStack_b4 + 0x4c" (identifier "pbStack_b4") (+ "+") (number_literal "0x4c")) () ")"))))) () ")")) (argument_list "(pbStack_b4,(code *)((int)param_2 + uVar23))" (( "(") (identifier "pbStack_b4") (, ",") (cast_expression "(code *)((int)param_2 + uVar23)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + uVar23)" (( "(") (binary_expression "(int)param_2 + uVar23" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (identifier "uVar23")) () ")"))) () ")")))) (; ";")) (expression_statement "pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);" (assignment_expression "pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23)" (identifier "pppppppcVar35") (= "=") (cast_expression "(code *******)(iVar10 + -1 + uVar23)" (( "(") (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 "(iVar10 + -1 + uVar23)" (( "(") (binary_expression "iVar10 + -1 + uVar23" (binary_expression "iVar10 + -1" (identifier "iVar10") (+ "+") (number_literal "-1")) (+ "+") (identifier "uVar23")) () ")")))) (; ";")) (expression_statement "(*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);" (call_expression "(*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10)" (parenthesized_expression "(*(code *)unaff_s5)" (( "(") (pointer_expression "*(code *)unaff_s5" (* "*") (cast_expression "(code *)unaff_s5" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s5"))) () ")")) (argument_list "(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10)" (( "(") (identifier "unaff_s7") (, ",") (binary_expression "(uint)pppppppcVar35 | uVar23 << 0x10" (cast_expression "(uint)pppppppcVar35" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar35")) (| "|") (binary_expression "uVar23 << 0x10" (identifier "uVar23") (<< "<<") (number_literal "0x10"))) () ")"))) (; ";")) (expression_statement "pcVar4 = pcVar5;" (assignment_expression "pcVar4 = pcVar5" (identifier "pcVar4") (= "=") (identifier "pcVar5")) (; ";")) (expression_statement "pppppppcVar21 = pppppppcStack_64;" (assignment_expression "pppppppcVar21 = pppppppcStack_64" (identifier "pppppppcVar21") (= "=") (identifier "pppppppcStack_64")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((code *)((int)param_2 + iVar6) != pcVar5)" (( "(") (binary_expression "(code *)((int)param_2 + iVar6) != pcVar5" (cast_expression "(code *)((int)param_2 + iVar6)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + iVar6)" (( "(") (binary_expression "(int)param_2 + iVar6" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (identifier "iVar6")) () ")"))) (!= "!=") (identifier "pcVar5")) () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);" (assignment_expression "uVar23 = (uint)*(ushort *)(pcStack_d4 + 1)" (identifier "uVar23") (= "=") (binary_expression "(uint)*(ushort *)(pcStack_d4 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(pcStack_d4 + 1)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_d4 + 1)" (( "(") (binary_expression "pcStack_d4 + 1" (identifier "pcStack_d4") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "unaff_s2 = *(code ********)(puStack_120 + -0x7de0);" (assignment_expression "unaff_s2 = *(code ********)(puStack_120 + -0x7de0)" (identifier "unaff_s2") (= "=") (pointer_expression "*(code ********)(puStack_120 + -0x7de0)" (* "*") (cast_expression "(code ********)(puStack_120 + -0x7de0)" (( "(") (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 "*" (* "*")))))))))) () ")") (parenthesized_expression "(puStack_120 + -0x7de0)" (( "(") (binary_expression "puStack_120 + -0x7de0" (identifier "puStack_120") (+ "+") (number_literal "-0x7de0")) () ")"))))) (; ";")) (if_statement "if (uVar23 != 0) {\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }" (if "if") (parenthesized_expression "(uVar23 != 0)" (( "(") (binary_expression "uVar23 != 0" (identifier "uVar23") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            unaff_s2 = unaff_s2 + 0x5ce;\n            pppppppcVar8 = unaff_s2;\n            do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);\n          }" ({ "{") (expression_statement "unaff_s2 = unaff_s2 + 0x5ce;" (assignment_expression "unaff_s2 = unaff_s2 + 0x5ce" (identifier "unaff_s2") (= "=") (binary_expression "unaff_s2 + 0x5ce" (identifier "unaff_s2") (+ "+") (number_literal "0x5ce"))) (; ";")) (expression_statement "pppppppcVar8 = unaff_s2;" (assignment_expression "pppppppcVar8 = unaff_s2" (identifier "pppppppcVar8") (= "=") (identifier "unaff_s2")) (; ";")) (do_statement "do {\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            } while (uVar23 != 0);" (do "do") (compound_statement "{\n              pcVar4 = (code *)((int)param_2 + uVar23);\n              (*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);\n              uVar23 = (uint)*(ushort *)pcVar4;\n            }" ({ "{") (expression_statement "pcVar4 = (code *)((int)param_2 + uVar23);" (assignment_expression "pcVar4 = (code *)((int)param_2 + uVar23)" (identifier "pcVar4") (= "=") (cast_expression "(code *)((int)param_2 + uVar23)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + uVar23)" (( "(") (binary_expression "(int)param_2 + uVar23" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (identifier "uVar23")) () ")")))) (; ";")) (expression_statement "(*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);" (call_expression "(*(code *)pppppppcVar8)\n                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10)" (parenthesized_expression "(*(code *)pppppppcVar8)" (( "(") (pointer_expression "*(code *)pppppppcVar8" (* "*") (cast_expression "(code *)pppppppcVar8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar8"))) () ")")) (argument_list "(unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10)" (( "(") (identifier "unaff_s7") (, ",") (binary_expression "(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10" (binary_expression "(*(ushort *)(pcVar4 + 2) + uVar23) - 1" (parenthesized_expression "(*(ushort *)(pcVar4 + 2) + uVar23)" (( "(") (binary_expression "*(ushort *)(pcVar4 + 2) + uVar23" (pointer_expression "*(ushort *)(pcVar4 + 2)" (* "*") (cast_expression "(ushort *)(pcVar4 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 2)" (( "(") (binary_expression "pcVar4 + 2" (identifier "pcVar4") (+ "+") (number_literal "2")) () ")")))) (+ "+") (identifier "uVar23")) () ")")) (- "-") (number_literal "1")) (| "|") (binary_expression "uVar23 << 0x10" (identifier "uVar23") (<< "<<") (number_literal "0x10"))) () ")"))) (; ";")) (expression_statement "uVar23 = (uint)*(ushort *)pcVar4;" (assignment_expression "uVar23 = (uint)*(ushort *)pcVar4" (identifier "uVar23") (= "=") (binary_expression "(uint)*(ushort *)pcVar4" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)pcVar4" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar4")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar23 != 0)" (( "(") (binary_expression "uVar23 != 0" (identifier "uVar23") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "ppppcVar22 = *unaff_s7;" (assignment_expression "ppppcVar22 = *unaff_s7" (identifier "ppppcVar22") (= "=") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7"))) (; ";")) (expression_statement "pppppppcVar24 = pppppppcStack_dc;" (assignment_expression "pppppppcVar24 = pppppppcStack_dc" (identifier "pppppppcVar24") (= "=") (identifier "pppppppcStack_dc")) (; ";")) (expression_statement "ppppcVar28 = ppppcStack_c8;" (assignment_expression "ppppcVar28 = ppppcStack_c8" (identifier "ppppcVar28") (= "=") (identifier "ppppcStack_c8")) (; ";")) (if_statement "if (ppppcVar22 == (code ****)0x0) {\n            pppppppcVar24 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }" (if "if") (parenthesized_expression "(ppppcVar22 == (code ****)0x0)" (( "(") (binary_expression "ppppcVar22 == (code ****)0x0" (identifier "ppppcVar22") (== "==") (cast_expression "(code ****)0x0" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pppppppcVar24 = (code *******)0x0;\n          }" ({ "{") (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"))) (; ";")) (} "}")) (else_clause "else {\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }" (else "else") (compound_statement "{\n            do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);\n            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);\n          }" ({ "{") (do_statement "do {\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            } while (ppppcVar22 != (code ****)0x0);" (do "do") (compound_statement "{\n              ppppcVar27 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar22];\n              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;\n              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar22;\n              if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }\n              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);\n              if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }\n              pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);\n              ppppcVar28 = ppppcVar27;\n            }" ({ "{") (expression_statement "ppppcVar27 = unaff_s7[1];" (assignment_expression "ppppcVar27 = unaff_s7[1]" (identifier "ppppcVar27") (= "=") (subscript_expression "unaff_s7[1]" (identifier "unaff_s7") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "unaff_s7[1] = unaff_s7[(int)ppppcVar22];" (assignment_expression "unaff_s7[1] = unaff_s7[(int)ppppcVar22]" (subscript_expression "unaff_s7[1]" (identifier "unaff_s7") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "unaff_s7[(int)ppppcVar22]" (identifier "unaff_s7") ([ "[") (cast_expression "(int)ppppcVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar22")) (] "]"))) (; ";")) (expression_statement "unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;" (assignment_expression "unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff" (subscript_expression "unaff_s7[(int)ppppcVar22]" (identifier "unaff_s7") ([ "[") (cast_expression "(int)ppppcVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar22")) (] "]")) (= "=") (cast_expression "(code ****)0xffffffff" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "ppppcVar22 = (code ****)((int)*unaff_s7 - 1);" (assignment_expression "ppppcVar22 = (code ****)((int)*unaff_s7 - 1)" (identifier "ppppcVar22") (= "=") (cast_expression "(code ****)((int)*unaff_s7 - 1)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)*unaff_s7 - 1)" (( "(") (binary_expression "(int)*unaff_s7 - 1" (cast_expression "(int)*unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7"))) (- "-") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*unaff_s7 = ppppcVar22;" (assignment_expression "*unaff_s7 = ppppcVar22" (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7")) (= "=") (identifier "ppppcVar22")) (; ";")) (if_statement "if ((code ****)0x1 < ppppcVar22) {\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }" (if "if") (parenthesized_expression "((code ****)0x1 < ppppcVar22)" (( "(") (binary_expression "(code ****)0x1 < ppppcVar22" (cast_expression "(code ****)0x1" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x1")) (< "<") (identifier "ppppcVar22")) () ")")) (compound_statement "{\n                ppppcVar29 = unaff_s7[1];\n                ppppcVar26 = (code ****)0x2;\n                ppppcVar9 = (code ****)0x1;\n                do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);\n              }" ({ "{") (expression_statement "ppppcVar29 = unaff_s7[1];" (assignment_expression "ppppcVar29 = unaff_s7[1]" (identifier "ppppcVar29") (= "=") (subscript_expression "unaff_s7[1]" (identifier "unaff_s7") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "ppppcVar26 = (code ****)0x2;" (assignment_expression "ppppcVar26 = (code ****)0x2" (identifier "ppppcVar26") (= "=") (cast_expression "(code ****)0x2" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x2"))) (; ";")) (expression_statement "ppppcVar9 = (code ****)0x1;" (assignment_expression "ppppcVar9 = (code ****)0x1" (identifier "ppppcVar9") (= "=") (cast_expression "(code ****)0x1" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x1"))) (; ";")) (do_statement "do {\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                } while (ppppcVar26 <= ppppcVar22);" (do "do") (compound_statement "{\n                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);\n                  ppppcVar17 = *pppppcVar15;\n                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);\n                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }\n                  if (ppppcVar29 < ppppcVar17) break;\n                  unaff_s7[(int)ppppcVar9] = ppppcVar17;\n                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);\n                  *pppppcVar15 = ppppcVar29;\n                  ppppcVar22 = *unaff_s7;\n                  ppppcVar9 = ppppcVar18;\n                }" ({ "{") (expression_statement "pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);" (assignment_expression "pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U)" (identifier "pppppcVar15") (= "=") (binary_expression "unaff_s7 + (int)((int)ppppcVar26 + 1U)" (identifier "unaff_s7") (+ "+") (cast_expression "(int)((int)ppppcVar26 + 1U)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)ppppcVar26 + 1U)" (( "(") (binary_expression "(int)ppppcVar26 + 1U" (cast_expression "(int)ppppcVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar26")) (+ "+") (number_literal "1U")) () ")"))))) (; ";")) (expression_statement "ppppcVar17 = *pppppcVar15;" (assignment_expression "ppppcVar17 = *pppppcVar15" (identifier "ppppcVar17") (= "=") (pointer_expression "*pppppcVar15" (* "*") (identifier "pppppcVar15"))) (; ";")) (expression_statement "ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);" (assignment_expression "ppppcVar18 = (code ****)((int)ppppcVar26 + 1U)" (identifier "ppppcVar18") (= "=") (cast_expression "(code ****)((int)ppppcVar26 + 1U)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppcVar26 + 1U)" (( "(") (binary_expression "(int)ppppcVar26 + 1U" (cast_expression "(int)ppppcVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar26")) (+ "+") (number_literal "1U")) () ")")))) (; ";")) (if_statement "if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }" (if "if") (parenthesized_expression "(unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17)" (( "(") (binary_expression "unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17" (subscript_expression "unaff_s7[(int)ppppcVar9 * 2]" (identifier "unaff_s7") ([ "[") (binary_expression "(int)ppppcVar9 * 2" (cast_expression "(int)ppppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar9")) (* "*") (number_literal "2")) (] "]")) (<= "<=") (identifier "ppppcVar17")) () ")")) (compound_statement "{\n                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;\n                    ppppcVar17 = *pppppcVar15;\n                    ppppcVar18 = ppppcVar26;\n                  }" ({ "{") (expression_statement "pppppcVar15 = unaff_s7 + (int)ppppcVar26;" (assignment_expression "pppppcVar15 = unaff_s7 + (int)ppppcVar26" (identifier "pppppcVar15") (= "=") (binary_expression "unaff_s7 + (int)ppppcVar26" (identifier "unaff_s7") (+ "+") (cast_expression "(int)ppppcVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar26")))) (; ";")) (expression_statement "ppppcVar17 = *pppppcVar15;" (assignment_expression "ppppcVar17 = *pppppcVar15" (identifier "ppppcVar17") (= "=") (pointer_expression "*pppppcVar15" (* "*") (identifier "pppppcVar15"))) (; ";")) (expression_statement "ppppcVar18 = ppppcVar26;" (assignment_expression "ppppcVar18 = ppppcVar26" (identifier "ppppcVar18") (= "=") (identifier "ppppcVar26")) (; ";")) (} "}"))) (if_statement "if (ppppcVar29 < ppppcVar17) break;" (if "if") (parenthesized_expression "(ppppcVar29 < ppppcVar17)" (( "(") (binary_expression "ppppcVar29 < ppppcVar17" (identifier "ppppcVar29") (< "<") (identifier "ppppcVar17")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "unaff_s7[(int)ppppcVar9] = ppppcVar17;" (assignment_expression "unaff_s7[(int)ppppcVar9] = ppppcVar17" (subscript_expression "unaff_s7[(int)ppppcVar9]" (identifier "unaff_s7") ([ "[") (cast_expression "(int)ppppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar9")) (] "]")) (= "=") (identifier "ppppcVar17")) (; ";")) (expression_statement "ppppcVar26 = (code ****)((int)ppppcVar18 << 1);" (assignment_expression "ppppcVar26 = (code ****)((int)ppppcVar18 << 1)" (identifier "ppppcVar26") (= "=") (cast_expression "(code ****)((int)ppppcVar18 << 1)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppcVar18 << 1)" (( "(") (binary_expression "(int)ppppcVar18 << 1" (cast_expression "(int)ppppcVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar18")) (<< "<<") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*pppppcVar15 = ppppcVar29;" (assignment_expression "*pppppcVar15 = ppppcVar29" (pointer_expression "*pppppcVar15" (* "*") (identifier "pppppcVar15")) (= "=") (identifier "ppppcVar29")) (; ";")) (expression_statement "ppppcVar22 = *unaff_s7;" (assignment_expression "ppppcVar22 = *unaff_s7" (identifier "ppppcVar22") (= "=") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7"))) (; ";")) (expression_statement "ppppcVar9 = ppppcVar18;" (assignment_expression "ppppcVar9 = ppppcVar18" (identifier "ppppcVar9") (= "=") (identifier "ppppcVar18")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppcVar26 <= ppppcVar22)" (( "(") (binary_expression "ppppcVar26 <= ppppcVar22" (identifier "ppppcVar26") (<= "<=") (identifier "ppppcVar22")) () ")")) (; ";")) (} "}"))) (expression_statement "pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);" (assignment_expression "pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10)" (identifier "pppppppcVar8") (= "=") (cast_expression "(code *******)((uint)ppppcVar27 >> 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 "*" (* "*"))))))))) () ")") (parenthesized_expression "((uint)ppppcVar27 >> 0x10)" (( "(") (binary_expression "(uint)ppppcVar27 >> 0x10" (cast_expression "(uint)ppppcVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppcVar27")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);" (assignment_expression "unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff)" (identifier "unaff_s2") (= "=") (cast_expression "(code *******)((uint)ppppcVar28 & 0xffff)" (( "(") (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)ppppcVar28 & 0xffff)" (( "(") (binary_expression "(uint)ppppcVar28 & 0xffff" (cast_expression "(uint)ppppcVar28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppcVar28")) (& "&") (number_literal "0xffff")) () ")")))) (; ";")) (if_statement "if (pppppppcVar8 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }" (if "if") (parenthesized_expression "(pppppppcVar8 <= unaff_s2)" (( "(") (binary_expression "pppppppcVar8 <= unaff_s2" (identifier "pppppppcVar8") (<= "<=") (identifier "unaff_s2")) () ")")) (compound_statement "{\n                pppppppcStack_dc = pppppppcVar24;\n                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;\n                pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_000a898c;\n              }" ({ "{") (expression_statement "pppppppcStack_dc = pppppppcVar24;" (assignment_expression "pppppppcStack_dc = pppppppcVar24" (identifier "pppppppcStack_dc") (= "=") (identifier "pppppppcVar24")) (; ";")) (expression_statement "FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21);" (call_expression "FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21)" (identifier "FUN_000a7bb8") (argument_list "(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,\n                             pppppppcVar21)" (( "(") (identifier "ppppppcVar20") (, ",") (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x4fe0" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fc4)" (( "(") (binary_expression "puStack_120 + -0x7fc4" (identifier "puStack_120") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x4fe0")) (, ",") (identifier "pppppppcVar8") (, ",") (identifier "pppppppcVar21") () ")"))) (; ";")) (if_statement "if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;" (if "if") (parenthesized_expression "(*unaff_s7 != (code ****)0x0)" (( "(") (binary_expression "*unaff_s7 != (code ****)0x0" (pointer_expression "*unaff_s7" (* "*") (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 "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000a86bc;" (goto "goto") (statement_identifier "LAB_000a86bc") (; ";"))) (expression_statement "pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);" (assignment_expression "pppppppcVar8 = (code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2)" (identifier "pppppppcVar8") (= "=") (cast_expression "(code *******)\n                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2)" (( "(") (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 "((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2)" (( "(") (binary_expression "(code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2" (binary_expression "(code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc" (cast_expression "(code *)((int)ppppppcStack_118 + -1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppcStack_118 + -1)" (( "(") (binary_expression "(int)ppppppcStack_118 + -1" (cast_expression "(int)ppppppcStack_118" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcStack_118")) (+ "+") (number_literal "-1")) () ")"))) (+ "+") (cast_expression "(int)pppppppcStack_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_dc"))) (+ "+") (unary_expression "-(int)unaff_s2" (- "-") (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")))) () ")")))) (; ";")) (goto_statement "goto LAB_000a898c;" (goto "goto") (statement_identifier "LAB_000a898c") (; ";")) (} "}"))) (expression_statement "pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);" (assignment_expression "pppppppcVar24 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2)" (identifier "pppppppcVar24") (= "=") (cast_expression "(code *******)\n                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2)" (( "(") (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 "((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2)" (( "(") (binary_expression "(code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2" (binary_expression "(code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24" (cast_expression "(code *)((int)pppppppcVar8 + -1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar8 + -1)" (( "(") (binary_expression "(int)pppppppcVar8 + -1" (cast_expression "(int)pppppppcVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar8")) (+ "+") (number_literal "-1")) () ")"))) (+ "+") (cast_expression "(int)pppppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar24"))) (+ "+") (unary_expression "-(int)unaff_s2" (- "-") (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")))) () ")")))) (; ";")) (expression_statement "ppppcVar28 = ppppcVar27;" (assignment_expression "ppppcVar28 = ppppcVar27" (identifier "ppppcVar28") (= "=") (identifier "ppppcVar27")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppcVar22 != (code ****)0x0)" (( "(") (binary_expression "ppppcVar22 != (code ****)0x0" (identifier "ppppcVar22") (!= "!=") (cast_expression "(code ****)0x0" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);" (assignment_expression "ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff)" (identifier "ppppcVar28") (= "=") (cast_expression "(code ****)((uint)ppppcVar27 & 0xffff)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((uint)ppppcVar27 & 0xffff)" (( "(") (binary_expression "(uint)ppppcVar27 & 0xffff" (cast_expression "(uint)ppppcVar27" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppcVar27")) (& "&") (number_literal "0xffff")) () ")")))) (; ";")) (} "}")))) (expression_statement "unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);" (assignment_expression "unaff_s7 = (code *****)((int)ppppppcStack_118 + -1)" (identifier "unaff_s7") (= "=") (cast_expression "(code *****)((int)ppppppcStack_118 + -1)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)ppppppcStack_118 + -1)" (( "(") (binary_expression "(int)ppppppcStack_118 + -1" (cast_expression "(int)ppppppcStack_118" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcStack_118")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);" (assignment_expression "pppppppcVar8 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28)" (identifier "pppppppcVar8") (= "=") (cast_expression "(code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28)" (( "(") (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 "((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28)" (( "(") (binary_expression "(code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28" (cast_expression "(code *)((int)unaff_s7 + (int)pppppppcVar24)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + (int)pppppppcVar24)" (( "(") (binary_expression "(int)unaff_s7 + (int)pppppppcVar24" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (cast_expression "(int)pppppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar24"))) () ")"))) (+ "+") (unary_expression "-(int)ppppcVar28" (- "-") (cast_expression "(int)ppppcVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar28")))) () ")")))) (; ";")) (labeled_statement "LAB_000a898c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }" (statement_identifier "LAB_000a898c") (: ":") (if_statement "if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }" (if "if") (parenthesized_expression "((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8)" (( "(") (binary_expression "(code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8" (cast_expression "(code *******)(uint)(byte)pcStack_d4[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 "*" (* "*"))))))))) () ")") (cast_expression "(uint)(byte)pcStack_d4[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)pcStack_d4[7]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "pcStack_d4[7]" (identifier "pcStack_d4") ([ "[") (number_literal "7") (] "]"))))) (!= "!=") (identifier "pppppppcVar8")) () ")")) (compound_statement "{\n            pppppppcStack_128 = pppppppcVar21;\n            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);\n          }" ({ "{") (expression_statement "pppppppcStack_128 = pppppppcVar21;" (assignment_expression "pppppppcStack_128 = pppppppcVar21" (identifier "pppppppcStack_128") (= "=") (identifier "pppppppcVar21")) (; ";")) (expression_statement "FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);" (call_expression "FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8)" (identifier "FUN_000a7bb8") (argument_list "(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8)" (( "(") (identifier "ppppppcVar20") (, ",") (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x4fb8" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fc4)" (( "(") (binary_expression "puStack_120 + -0x7fc4" (identifier "puStack_120") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x4fb8")) () ")"))) (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" (else "else") (compound_statement "{\n        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);\n        iStack_cc = *(int *)(puStack_120 + -0x7fc4);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);\n        pcVar4 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar35;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar21;\n        do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));\n        ppppcVar34 = (code ****)(iStack_108 + 1);\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar20[7] = (code *****)0x0;\n        pppppppcVar21 = pppppppcStack_64;\n        pppppppcVar35 = pppppppcVar24;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_000a878c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" ({ "{") (expression_statement "pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);" (assignment_expression "pppppppcVar16 = (code *******)(ppppppcStack_118 + -1)" (identifier "pppppppcVar16") (= "=") (cast_expression "(code *******)(ppppppcStack_118 + -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 "(ppppppcStack_118 + -1)" (( "(") (binary_expression "ppppppcStack_118 + -1" (identifier "ppppppcStack_118") (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "iStack_fc = 1;" (assignment_expression "iStack_fc = 1" (identifier "iStack_fc") (= "=") (number_literal "1")) (; ";")) (expression_statement "iStack_f4 = *(int *)(puStack_120 + -0x7fc4);" (assignment_expression "iStack_f4 = *(int *)(puStack_120 + -0x7fc4)" (identifier "iStack_f4") (= "=") (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fc4)" (( "(") (binary_expression "puStack_120 + -0x7fc4" (identifier "puStack_120") (+ "+") (number_literal "-0x7fc4")) () ")"))))) (; ";")) (expression_statement "pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);" (assignment_expression "pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8)" (identifier "pcStack_100") (= "=") (cast_expression "(code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8)" (( "(") (binary_expression "*(int *)(puStack_120 + -0x7d5c) + 0x7bb8" (pointer_expression "*(int *)(puStack_120 + -0x7d5c)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7d5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7d5c)" (( "(") (binary_expression "puStack_120 + -0x7d5c" (identifier "puStack_120") (+ "+") (number_literal "-0x7d5c")) () ")")))) (+ "+") (number_literal "0x7bb8")) () ")")))) (; ";")) (expression_statement "iStack_cc = *(int *)(puStack_120 + -0x7fc4);" (assignment_expression "iStack_cc = *(int *)(puStack_120 + -0x7fc4)" (identifier "iStack_cc") (= "=") (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fc4)" (( "(") (binary_expression "puStack_120 + -0x7fc4" (identifier "puStack_120") (+ "+") (number_literal "-0x7fc4")) () ")"))))) (; ";")) (expression_statement "pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);" (assignment_expression "pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738)" (identifier "pcStack_d0") (= "=") (cast_expression "(code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_120 + -0x7de0) + 0x1738)" (( "(") (binary_expression "*(int *)(puStack_120 + -0x7de0) + 0x1738" (pointer_expression "*(int *)(puStack_120 + -0x7de0)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7de0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7de0)" (( "(") (binary_expression "puStack_120 + -0x7de0" (identifier "puStack_120") (+ "+") (number_literal "-0x7de0")) () ")")))) (+ "+") (number_literal "0x1738")) () ")")))) (; ";")) (expression_statement "pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);" (assignment_expression "pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4)" (identifier "pcStack_e0") (= "=") (cast_expression "(code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4)" (( "(") (binary_expression "*(int *)(puStack_120 + -0x7cf4) + -0x7dd4" (pointer_expression "*(int *)(puStack_120 + -0x7cf4)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7cf4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7cf4)" (( "(") (binary_expression "puStack_120 + -0x7cf4" (identifier "puStack_120") (+ "+") (number_literal "-0x7cf4")) () ")")))) (+ "+") (number_literal "-0x7dd4")) () ")")))) (; ";")) (expression_statement "pcVar4 = pcStack_e4;" (assignment_expression "pcVar4 = pcStack_e4" (identifier "pcVar4") (= "=") (identifier "pcStack_e4")) (; ";")) (expression_statement "pppppppcStack_f8 = pppppppcVar35;" (assignment_expression "pppppppcStack_f8 = pppppppcVar35" (identifier "pppppppcStack_f8") (= "=") (identifier "pppppppcVar35")) (; ";")) (expression_statement "pppppcStack_e8 = unaff_s7;" (assignment_expression "pppppcStack_e8 = unaff_s7" (identifier "pppppcStack_e8") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "pppppppcStack_d8 = param_3;" (assignment_expression "pppppppcStack_d8 = param_3" (identifier "pppppppcStack_d8") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pppppppcStack_64 = pppppppcVar21;" (assignment_expression "pppppppcStack_64 = pppppppcVar21" (identifier "pppppppcStack_64") (= "=") (identifier "pppppppcVar21")) (; ";")) (do_statement "do {\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));" (do "do") (compound_statement "{\n          ppppppcVar20[9] = (code *****)unaff_s2;\n          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;\n          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        }" ({ "{") (expression_statement "ppppppcVar20[9] = (code *****)unaff_s2;" (assignment_expression "ppppppcVar20[9] = (code *****)unaff_s2" (subscript_expression "ppppppcVar20[9]" (identifier "ppppppcVar20") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(code *****)unaff_s2" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "unaff_s2"))) (; ";")) (expression_statement "pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;" (assignment_expression "pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4" (identifier "pppppppcVar21") (= "=") (binary_expression "(code *******)(uint)*(ushort *)pcVar4" (cast_expression "(code *******)(uint)" (( "(") (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)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(ushort *)pcVar4" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar4")))) (; ";")) (if_statement "if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }\n          else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }" (if "if") (parenthesized_expression "((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21))" (( "(") (binary_expression "(pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)" (parenthesized_expression "(pppppppcVar21 < pppppppcVar24)" (( "(") (binary_expression "pppppppcVar21 < pppppppcVar24" (identifier "pppppppcVar21") (< "<") (identifier "pppppppcVar24")) () ")")) (|| "||") (parenthesized_expression "(pppppppcVar16 < pppppppcVar21)" (( "(") (binary_expression "pppppppcVar16 < pppppppcVar21" (identifier "pppppppcVar16") (< "<") (identifier "pppppppcVar21")) () ")"))) () ")")) (compound_statement "{\n            pppppppcStack_128 = pppppppcVar16;\n            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);\n            iStack_fc = 0;\n            pppppppcVar8 = pppppppcVar21;\n          }" ({ "{") (expression_statement "pppppppcStack_128 = pppppppcVar16;" (assignment_expression "pppppppcStack_128 = pppppppcVar16" (identifier "pppppppcStack_128") (= "=") (identifier "pppppppcVar16")) (; ";")) (expression_statement "(*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);" (call_expression "(*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24)" (parenthesized_expression "(*pcStack_100)" (( "(") (pointer_expression "*pcStack_100" (* "*") (identifier "pcStack_100")) () ")")) (argument_list "(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24)" (( "(") (identifier "ppppppcVar20") (, ",") (binary_expression "iStack_f4 + -0x504c" (identifier "iStack_f4") (+ "+") (number_literal "-0x504c")) (, ",") (identifier "pppppppcVar21") (, ",") (identifier "pppppppcVar24") () ")"))) (; ";")) (expression_statement "iStack_fc = 0;" (assignment_expression "iStack_fc = 0" (identifier "iStack_fc") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppppcVar8 = pppppppcVar21;" (assignment_expression "pppppppcVar8 = pppppppcVar21" (identifier "pppppppcVar8") (= "=") (identifier "pppppppcVar21")) (; ";")) (} "}")) (else_clause "else {\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }" (else "else") (compound_statement "{\n            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);\n            pppppppcVar8 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }\n          }" ({ "{") (expression_statement "pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);" (assignment_expression "pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21)" (identifier "pcVar5") (= "=") (cast_expression "(code *)((int)param_2 + (int)pppppppcVar21)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + (int)pppppppcVar21)" (( "(") (binary_expression "(int)param_2 + (int)pppppppcVar21" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (cast_expression "(int)pppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar21"))) () ")")))) (; ";")) (expression_statement "pppppppcVar8 = (code *******)&pppppppcStack_b0;" (assignment_expression "pppppppcVar8 = (code *******)&pppppppcStack_b0" (identifier "pppppppcVar8") (= "=") (cast_expression "(code *******)&pppppppcStack_b0" (( "(") (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 "&pppppppcStack_b0" (& "&") (identifier "pppppppcStack_b0")))) (; ";")) (expression_statement "(**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);" (call_expression "(**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5)" (parenthesized_expression "(**(code **)(pbStack_b4 + 0x50))" (( "(") (pointer_expression "**(code **)(pbStack_b4 + 0x50)" (* "*") (pointer_expression "*(code **)(pbStack_b4 + 0x50)" (* "*") (cast_expression "(code **)(pbStack_b4 + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbStack_b4 + 0x50)" (( "(") (binary_expression "pbStack_b4 + 0x50" (identifier "pbStack_b4") (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "(pbStack_b4,pcVar5)" (( "(") (identifier "pbStack_b4") (, ",") (identifier "pcVar5") () ")"))) (; ";")) (if_statement "if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }" (if "if") (parenthesized_expression "(ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e))" (( "(") (binary_expression "ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)" (identifier "ppppppcStack_118") (< "<") (cast_expression "(code ******)((int)pppppppcVar21 + (uint)uStack_9e)" (( "(") (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)pppppppcVar21 + (uint)uStack_9e)" (( "(") (binary_expression "(int)pppppppcVar21 + (uint)uStack_9e" (cast_expression "(int)pppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar21")) (+ "+") (cast_expression "(uint)uStack_9e" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uStack_9e"))) () ")")))) () ")")) (compound_statement "{\n              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);\n              iStack_fc = 0;\n            }" ({ "{") (expression_statement "(*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);" (call_expression "(*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c)" (parenthesized_expression "(*pcStack_100)" (( "(") (pointer_expression "*pcStack_100" (* "*") (identifier "pcStack_100")) () ")")) (argument_list "(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c)" (( "(") (identifier "ppppppcVar20") (, ",") (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x502c" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fc4)" (( "(") (binary_expression "puStack_120 + -0x7fc4" (identifier "puStack_120") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x502c")) () ")"))) (; ";")) (expression_statement "iStack_fc = 0;" (assignment_expression "iStack_fc = 0" (identifier "iStack_fc") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }" (else "else") (compound_statement "{\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }\n            }" ({ "{") (if_statement "if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }" (if "if") (parenthesized_expression "(pbStack_b4[2] != 0)" (( "(") (binary_expression "pbStack_b4[2] != 0" (subscript_expression "pbStack_b4[2]" (identifier "pbStack_b4") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }\n                if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }" ({ "{") (if_statement "if (iStack_104 == 0) {\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }\n                else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }" (if "if") (parenthesized_expression "(iStack_104 == 0)" (( "(") (binary_expression "iStack_104 == 0" (identifier "iStack_104") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  bVar2 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }\n                }" ({ "{") (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (if_statement "if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_000a89e0:\n                    bVar2 = false;\n                  }" (if "if") (parenthesized_expression "(((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54))))" (( "(") (binary_expression "((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))" (parenthesized_expression "((int)pppppppcStack_b0 < (int)local_58)" (( "(") (binary_expression "(int)pppppppcStack_b0 < (int)local_58" (cast_expression "(int)pppppppcStack_b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_b0")) (< "<") (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58"))) () ")")) (|| "||") (parenthesized_expression "((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))" (( "(") (parenthesized_expression "(local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54))" (( "(") (binary_expression "local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)" (binary_expression "local_58 == pppppppcStack_b0" (identifier "local_58") (== "==") (identifier "pppppppcStack_b0")) (&& "&&") (parenthesized_expression "(ppppppcStack_ac < ppppppcStack_54)" (( "(") (binary_expression "ppppppcStack_ac < ppppppcStack_54" (identifier "ppppppcStack_ac") (< "<") (identifier "ppppppcStack_54")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\nLAB_000a89e0:\n                    bVar2 = false;\n                  }" ({ "{") (labeled_statement "LAB_000a89e0:\n                    bVar2 = false;" (statement_identifier "LAB_000a89e0") (: ":") (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }" (else "else") (compound_statement "{\n                  bVar2 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }\n                }" ({ "{") (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (if_statement "if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }" (if "if") (parenthesized_expression "((int)pppppppcStack_b0 <= (int)local_58)" (( "(") (binary_expression "(int)pppppppcStack_b0 <= (int)local_58" (cast_expression "(int)pppppppcStack_b0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_b0")) (<= "<=") (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58"))) () ")")) (compound_statement "{\n                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }\n                  }" ({ "{") (if_statement "if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;" (if "if") (parenthesized_expression "(pppppppcStack_b0 != local_58)" (( "(") (binary_expression "pppppppcStack_b0 != local_58" (identifier "pppppppcStack_b0") (!= "!=") (identifier "local_58")) () ")")) (goto_statement "goto LAB_000a89e0;" (goto "goto") (statement_identifier "LAB_000a89e0") (; ";"))) (if_statement "if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar2 = false;\n                    }" (if "if") (parenthesized_expression "(ppppppcStack_ac <= ppppppcStack_54)" (( "(") (binary_expression "ppppppcStack_ac <= ppppppcStack_54" (identifier "ppppppcStack_ac") (<= "<=") (identifier "ppppppcStack_54")) () ")")) (compound_statement "{\n                      bVar2 = false;\n                    }" ({ "{") (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (} "}"))) (} "}"))) (} "}")))) (if_statement "if (bVar2) {\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);\n                }" ({ "{") (expression_statement "(*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);" (call_expression "(*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014)" (parenthesized_expression "(*pcStack_100)" (( "(") (pointer_expression "*pcStack_100" (* "*") (identifier "pcStack_100")) () ")")) (argument_list "(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014)" (( "(") (identifier "ppppppcVar20") (, ",") (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x5014" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fc4)" (( "(") (binary_expression "puStack_120 + -0x7fc4" (identifier "puStack_120") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x5014")) () ")"))) (; ";")) (} "}"))) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" (identifier "iStack_104") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = pppppppcStack_b0;" (assignment_expression "local_58 = pppppppcStack_b0" (identifier "local_58") (= "=") (identifier "pppppppcStack_b0")) (; ";")) (expression_statement "ppppppcStack_54 = ppppppcStack_ac;" (assignment_expression "ppppppcStack_54 = ppppppcStack_ac" (identifier "ppppppcStack_54") (= "=") (identifier "ppppppcStack_ac")) (; ";")) (} "}"))) (if_statement "if (uStack_a0 < uStack_a4) {\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }" (if "if") (parenthesized_expression "(uStack_a0 < uStack_a4)" (( "(") (binary_expression "uStack_a0 < uStack_a4" (identifier "uStack_a0") (< "<") (identifier "uStack_a4")) () ")")) (compound_statement "{\n                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));\n                if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }\n                FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);\n              }" ({ "{") (expression_statement "uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));" (assignment_expression "uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4))" (identifier "uVar42") (= "=") (pointer_expression "*(undefined4 *)(pcVar5 + (uStack_9e - 4))" (* "*") (cast_expression "(undefined4 *)(pcVar5 + (uStack_9e - 4))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + (uStack_9e - 4))" (( "(") (binary_expression "pcVar5 + (uStack_9e - 4)" (identifier "pcVar5") (+ "+") (parenthesized_expression "(uStack_9e - 4)" (( "(") (binary_expression "uStack_9e - 4" (identifier "uStack_9e") (- "-") (number_literal "4")) () ")"))) () ")"))))) (; ";")) (if_statement "if (pppppppcVar16 == (code *******)0x0) {\n                  trap(7);\n                }" (if "if") (parenthesized_expression "(pppppppcVar16 == (code *******)0x0)" (( "(") (binary_expression "pppppppcVar16 == (code *******)0x0" (identifier "pppppppcVar16") (== "==") (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                  trap(7);\n                }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16;" (assignment_expression "uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16" (identifier "uVar23") (= "=") (binary_expression "(uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar16" (call_expression "(uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0))" (( "(") (binary_expression "(int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)" (cast_expression "(int)ppppppcStack_118" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppcStack_118")) (+ "+") (parenthesized_expression "((uStack_a4 - 5) - (uint)uStack_a0)" (( "(") (binary_expression "(uStack_a4 - 5) - (uint)uStack_a0" (parenthesized_expression "(uStack_a4 - 5)" (( "(") (binary_expression "uStack_a4 - 5" (identifier "uStack_a4") (- "-") (number_literal "5")) () ")")) (- "-") (cast_expression "(uint)uStack_a0" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uStack_a0"))) () ")"))) () ")"))) (/ "/") (cast_expression "(uint)pppppppcVar16" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar16")))) (; ";")) (if_statement "if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }" (if "if") (parenthesized_expression "(*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0)" (( "(") (binary_expression "*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_f8 + 0x11)" (* "*") (cast_expression "(code *)((int)pppppppcStack_f8 + 0x11)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcStack_f8 + 0x11)" (( "(") (binary_expression "(int)pppppppcStack_f8 + 0x11" (cast_expression "(int)pppppppcStack_f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f8")) (+ "+") (number_literal "0x11")) () ")")))) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  uStack_c0 = uVar42;\n                  uStack_bc = uVar23;\n                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);\n                  uVar23 = uStack_bc;\n                  uVar42 = uStack_c0;\n                }" ({ "{") (expression_statement "uStack_c0 = uVar42;" (assignment_expression "uStack_c0 = uVar42" (identifier "uStack_c0") (= "=") (identifier "uVar42")) (; ";")) (expression_statement "uStack_bc = uVar23;" (assignment_expression "uStack_bc = uVar23" (identifier "uStack_bc") (= "=") (identifier "uVar23")) (; ";")) (expression_statement "FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);" (call_expression "FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64)" (identifier "FUN_000a7d78") (argument_list "(ppppppcVar20,uVar42,3,pppppppcStack_64)" (( "(") (identifier "ppppppcVar20") (, ",") (identifier "uVar42") (, ",") (number_literal "3") (, ",") (identifier "pppppppcStack_64") () ")"))) (; ";")) (expression_statement "uVar23 = uStack_bc;" (assignment_expression "uVar23 = uStack_bc" (identifier "uVar23") (= "=") (identifier "uStack_bc")) (; ";")) (expression_statement "uVar42 = uStack_c0;" (assignment_expression "uVar42 = uStack_c0" (identifier "uVar42") (= "=") (identifier "uStack_c0")) (; ";")) (} "}"))) (expression_statement "FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23);" (call_expression "FUN_000a7ec0(ppppppcVar20,0,uVar42,uVar23)" (identifier "FUN_000a7ec0") (argument_list "(ppppppcVar20,0,uVar42,uVar23)" (( "(") (identifier "ppppppcVar20") (, ",") (number_literal "0") (, ",") (identifier "uVar42") (, ",") (identifier "uVar23") () ")"))) (; ";")) (} "}"))) (if_statement "if (pbStack_b4[8] == 0) {\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }" (if "if") (parenthesized_expression "(pbStack_b4[8] == 0)" (( "(") (binary_expression "pbStack_b4[8] == 0" (subscript_expression "pbStack_b4[8]" (identifier "pbStack_b4") ([ "[") (number_literal "8") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar42 = *(undefined4 *)pcVar5;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }\n                pppppppcVar8 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);\n                if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }\n              }" ({ "{") (expression_statement "uVar42 = *(undefined4 *)pcVar5;" (assignment_expression "uVar42 = *(undefined4 *)pcVar5" (identifier "uVar42") (= "=") (pointer_expression "*(undefined4 *)pcVar5" (* "*") (cast_expression "(undefined4 *)pcVar5" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar5")))) (; ";")) (if_statement "if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }" (if "if") (parenthesized_expression "(*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0)" (( "(") (binary_expression "*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0" (pointer_expression "*(code *)((int)pppppppcStack_f8 + 0x11)" (* "*") (cast_expression "(code *)((int)pppppppcStack_f8 + 0x11)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcStack_f8 + 0x11)" (( "(") (binary_expression "(int)pppppppcStack_f8 + 0x11" (cast_expression "(int)pppppppcStack_f8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcStack_f8")) (+ "+") (number_literal "0x11")) () ")")))) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);\n                }" ({ "{") (expression_statement "FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);" (call_expression "FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64)" (identifier "FUN_000a7d78") (argument_list "(ppppppcVar20,uVar42,5,pppppppcStack_64)" (( "(") (identifier "ppppppcVar20") (, ",") (identifier "uVar42") (, ",") (number_literal "5") (, ",") (identifier "pppppppcStack_64") () ")"))) (; ";")) (} "}"))) (expression_statement "pppppppcVar8 = (code *******)&local_58;" (assignment_expression "pppppppcVar8 = (code *******)&local_58" (identifier "pppppppcVar8") (= "=") (cast_expression "(code *******)&local_58" (( "(") (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_58" (& "&") (identifier "local_58")))) (; ";")) (expression_statement "ppppppcStack_124 = ppppppcStack_54;" (assignment_expression "ppppppcStack_124 = ppppppcStack_54" (identifier "ppppppcStack_124") (= "=") (identifier "ppppppcStack_54")) (; ";")) (expression_statement "pppppppcStack_128 = local_58;" (assignment_expression "pppppppcStack_128 = local_58" (identifier "pppppppcStack_128") (= "=") (identifier "local_58")) (; ";")) (expression_statement "iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);" (assignment_expression "iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42)" (identifier "iVar6") (= "=") (call_expression "(*pcStack_e0)(ppppppcVar20,uVar42)" (parenthesized_expression "(*pcStack_e0)" (( "(") (pointer_expression "*pcStack_e0" (* "*") (identifier "pcStack_e0")) () ")")) (argument_list "(ppppppcVar20,uVar42)" (( "(") (identifier "ppppppcVar20") (, ",") (identifier "uVar42") () ")")))) (; ";")) (if_statement "if (iVar6 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }\n                else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }" (if "if") (parenthesized_expression "(iVar6 == iStack_108)" (( "(") (binary_expression "iVar6 == iStack_108" (identifier "iVar6") (== "==") (identifier "iStack_108")) () ")")) (compound_statement "{\n                  iStack_104 = 0;\n                  iStack_108 = iVar6;\n                }" ({ "{") (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" (identifier "iStack_104") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_108 = iVar6;" (assignment_expression "iStack_108 = iVar6" (identifier "iStack_108") (= "=") (identifier "iVar6")) (; ";")) (} "}")) (else_clause "else {\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }" (else "else") (compound_statement "{\n                  iStack_108 = iVar6;\n                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);\n                  iStack_104 = 0;\n                }" ({ "{") (expression_statement "iStack_108 = iVar6;" (assignment_expression "iStack_108 = iVar6" (identifier "iStack_108") (= "=") (identifier "iVar6")) (; ";")) (expression_statement "(*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);" (call_expression "(*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc)" (parenthesized_expression "(*pcStack_100)" (( "(") (pointer_expression "*pcStack_100" (* "*") (identifier "pcStack_100")) () ")")) (argument_list "(ppppppcVar20,iStack_cc + -0x4ffc)" (( "(") (identifier "ppppppcVar20") (, ",") (binary_expression "iStack_cc + -0x4ffc" (identifier "iStack_cc") (+ "+") (number_literal "-0x4ffc")) () ")"))) (; ";")) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" (identifier "iStack_104") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }" (else "else") (compound_statement "{\n                pppppppcVar8 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);\n              }" ({ "{") (expression_statement "pppppppcVar8 = (code *******)(uStack_9e - 1);" (assignment_expression "pppppppcVar8 = (code *******)(uStack_9e - 1)" (identifier "pppppppcVar8") (= "=") (cast_expression "(code *******)(uStack_9e - 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 "(uStack_9e - 1)" (( "(") (binary_expression "uStack_9e - 1" (identifier "uStack_9e") (- "-") (number_literal "1")) () ")")))) (; ";")) (expression_statement "(*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10);" (call_expression "(*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10)" (parenthesized_expression "(*pcStack_d0)" (( "(") (pointer_expression "*pcStack_d0" (* "*") (identifier "pcStack_d0")) () ")")) (argument_list "(pppppcStack_e8,\n                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10)" (( "(") (identifier "pppppcStack_e8") (, ",") (binary_expression "(uint)((int)pppppppcVar8 + (int)pppppppcVar21) |\n                              (int)pppppppcVar21 << 0x10" (call_expression "(uint)((int)pppppppcVar8 + (int)pppppppcVar21)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)pppppppcVar8 + (int)pppppppcVar21)" (( "(") (binary_expression "(int)pppppppcVar8 + (int)pppppppcVar21" (cast_expression "(int)pppppppcVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar8")) (+ "+") (cast_expression "(int)pppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar21"))) () ")"))) (| "|") (binary_expression "(int)pppppppcVar21 << 0x10" (cast_expression "(int)pppppppcVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar21")) (<< "<<") (number_literal "0x10"))) () ")"))) (; ";")) (} "}")))) (} "}")))) (} "}")))) (expression_statement "unaff_s2 = (code *******)((int)unaff_s2 + -1);" (assignment_expression "unaff_s2 = (code *******)((int)unaff_s2 + -1)" (identifier "unaff_s2") (= "=") (cast_expression "(code *******)((int)unaff_s2 + -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)unaff_s2 + -1)" (( "(") (binary_expression "(int)unaff_s2 + -1" (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0))" (( "(") (binary_expression "(unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0)" (parenthesized_expression "(unaff_s2 != (code *******)0xffffffff)" (( "(") (binary_expression "unaff_s2 != (code *******)0xffffffff" (identifier "unaff_s2") (!= "!=") (cast_expression "(code *******)0xffffffff" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0xffffffff"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0)" (( "(") (comma_expression "pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0" (assignment_expression "pcVar4 = pcVar4 + -2" (identifier "pcVar4") (= "=") (binary_expression "pcVar4 + -2" (identifier "pcVar4") (+ "+") (number_literal "-2"))) (, ",") (binary_expression "ppppppcVar20[4] != (code *****)0x0" (subscript_expression "ppppppcVar20[4]" (identifier "ppppppcVar20") ([ "[") (number_literal "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 "*" (* "*"))))))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (; ";")) (expression_statement "ppppcVar34 = (code ****)(iStack_108 + 1);" (assignment_expression "ppppcVar34 = (code ****)(iStack_108 + 1)" (identifier "ppppcVar34") (= "=") (cast_expression "(code ****)(iStack_108 + 1)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(iStack_108 + 1)" (( "(") (binary_expression "iStack_108 + 1" (identifier "iStack_108") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pppppppcStack_d8[1] = ppppppcStack_54;" (assignment_expression "pppppppcStack_d8[1] = ppppppcStack_54" (subscript_expression "pppppppcStack_d8[1]" (identifier "pppppppcStack_d8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "ppppppcStack_54")) (; ";")) (expression_statement "*pppppppcStack_d8 = (code ******)local_58;" (assignment_expression "*pppppppcStack_d8 = (code ******)local_58" (pointer_expression "*pppppppcStack_d8" (* "*") (identifier "pppppppcStack_d8")) (= "=") (cast_expression "(code ******)local_58" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_58"))) (; ";")) (expression_statement "ppppppcVar20[7] = (code *****)0x0;" (assignment_expression "ppppppcVar20[7] = (code *****)0x0" (subscript_expression "ppppppcVar20[7]" (identifier "ppppppcVar20") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(code *****)0x0" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppcVar21 = pppppppcStack_64;" (assignment_expression "pppppppcVar21 = pppppppcStack_64" (identifier "pppppppcVar21") (= "=") (identifier "pppppppcStack_64")) (; ";")) (expression_statement "pppppppcVar35 = pppppppcVar24;" (assignment_expression "pppppppcVar35 = pppppppcVar24" (identifier "pppppppcVar35") (= "=") (identifier "pppppppcVar24")) (; ";")) (expression_statement "unaff_s5 = pppppppcStack_d8;" (assignment_expression "unaff_s5 = pppppppcStack_d8" (identifier "unaff_s5") (= "=") (identifier "pppppppcStack_d8")) (; ";")) (expression_statement "unaff_s7 = pppppcStack_e8;" (assignment_expression "unaff_s7 = pppppcStack_e8" (identifier "unaff_s7") (= "=") (identifier "pppppcStack_e8")) (; ";")) (if_statement "if (iStack_fc != 0) goto LAB_000a878c;" (if "if") (parenthesized_expression "(iStack_fc != 0)" (( "(") (binary_expression "iStack_fc != 0" (identifier "iStack_fc") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a878c;" (goto "goto") (statement_identifier "LAB_000a878c") (; ";"))) (expression_statement "*pbStack_b4 = (byte)uStack_f0;" (assignment_expression "*pbStack_b4 = (byte)uStack_f0" (pointer_expression "*pbStack_b4" (* "*") (identifier "pbStack_b4")) (= "=") (cast_expression "(byte)uStack_f0" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uStack_f0"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }" (else "else") (compound_statement "{\n      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;\nLAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);\n      ppppcVar34 = (code ****)0x0;\n    }" ({ "{") (expression_statement "iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;" (assignment_expression "iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4" (identifier "iVar6") (= "=") (binary_expression "*(int *)(puStack_120 + -0x7fc4) + -0x50d4" (pointer_expression "*(int *)(puStack_120 + -0x7fc4)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fc4)" (( "(") (binary_expression "puStack_120 + -0x7fc4" (identifier "puStack_120") (+ "+") (number_literal "-0x7fc4")) () ")")))) (+ "+") (number_literal "-0x50d4"))) (; ";")) (labeled_statement "LAB_000a86a4:\n      FUN_000a7bb8(ppppppcVar20,iVar6);" (statement_identifier "LAB_000a86a4") (: ":") (expression_statement "FUN_000a7bb8(ppppppcVar20,iVar6);" (call_expression "FUN_000a7bb8(ppppppcVar20,iVar6)" (identifier "FUN_000a7bb8") (argument_list "(ppppppcVar20,iVar6)" (( "(") (identifier "ppppppcVar20") (, ",") (identifier "iVar6") () ")"))) (; ";"))) (expression_statement "ppppcVar34 = (code ****)0x0;" (assignment_expression "ppppcVar34 = (code ****)0x0" (identifier "ppppcVar34") (= "=") (cast_expression "(code ****)0x0" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (labeled_statement "LAB_000a86bc:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" (statement_identifier "LAB_000a86bc") (: ":") (if_statement "if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" (if "if") (parenthesized_expression "(pbStack_b4 != (byte *)0x0)" (( "(") (binary_expression "pbStack_b4 != (byte *)0x0" (identifier "pbStack_b4") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" ({ "{") (expression_statement "(*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));" (call_expression "(*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48))" (parenthesized_expression "(*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))" (( "(") (pointer_expression "*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8)" (* "*") (cast_expression "(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_120 + -0x7de0) + 0xee8)" (( "(") (binary_expression "*(int *)(puStack_120 + -0x7de0) + 0xee8" (pointer_expression "*(int *)(puStack_120 + -0x7de0)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7de0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7de0)" (( "(") (binary_expression "puStack_120 + -0x7de0" (identifier "puStack_120") (+ "+") (number_literal "-0x7de0")) () ")")))) (+ "+") (number_literal "0xee8")) () ")")))) () ")")) (argument_list "(*(undefined4 *)(pbStack_b4 + 0x48))" (( "(") (pointer_expression "*(undefined4 *)(pbStack_b4 + 0x48)" (* "*") (cast_expression "(undefined4 *)(pbStack_b4 + 0x48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbStack_b4 + 0x48)" (( "(") (binary_expression "pbStack_b4 + 0x48" (identifier "pbStack_b4") (+ "+") (number_literal "0x48")) () ")")))) () ")"))) (; ";")) (} "}")))) (expression_statement "ppppppcVar20[7] = pppppcStack_114;" (assignment_expression "ppppppcVar20[7] = pppppcStack_114" (subscript_expression "ppppppcVar20[7]" (identifier "ppppppcVar20") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "pppppcStack_114")) (; ";")) (expression_statement "ppppppcVar20[8] = pppppcStack_110;" (assignment_expression "ppppppcVar20[8] = pppppcStack_110" (subscript_expression "ppppppcVar20[8]" (identifier "ppppppcVar20") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "pppppcStack_110")) (; ";")) (expression_statement "ppppppcVar20[9] = pppppcStack_10c;" (assignment_expression "ppppppcVar20[9] = pppppcStack_10c" (subscript_expression "ppppppcVar20[9]" (identifier "ppppppcVar20") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "pppppcStack_10c")) (; ";")) (} "}")))) (if_statement "if (ppppppcStack_94 == (code ******)*piVar30) {\n    return ppppcVar34;\n  }" (if "if") (parenthesized_expression "(ppppppcStack_94 == (code ******)*piVar30)" (( "(") (binary_expression "ppppppcStack_94 == (code ******)*piVar30" (identifier "ppppppcStack_94") (== "==") (cast_expression "(code ******)*piVar30" (( "(") (type_descriptor "code ******" (type_identifier "code") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*piVar30" (* "*") (identifier "piVar30")))) () ")")) (compound_statement "{\n    return ppppcVar34;\n  }" ({ "{") (return_statement "return ppppcVar34;" (return "return") (identifier "ppppcVar34") (; ";")) (} "}"))) (expression_statement "pcVar4 = *(code **)(puStack_120 + -0x7b28);" (assignment_expression "pcVar4 = *(code **)(puStack_120 + -0x7b28)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(puStack_120 + -0x7b28)" (* "*") (cast_expression "(code **)(puStack_120 + -0x7b28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_120 + -0x7b28)" (( "(") (binary_expression "puStack_120 + -0x7b28" (identifier "puStack_120") (+ "+") (number_literal "-0x7b28")) () ")"))))) (; ";")) (expression_statement "uVar42 = 0xa8b38;" (assignment_expression "uVar42 = 0xa8b38" (identifier "uVar42") (= "=") (number_literal "0xa8b38")) (; ";")) (expression_statement "ppppppcVar19 = ppppppcStack_94;" (assignment_expression "ppppppcVar19 = ppppppcStack_94" (identifier "ppppppcVar19") (= "=") (identifier "ppppppcStack_94")) (; ";")) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" (identifier "uVar23") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar25 = (int *)&DAT_000001f8;" (assignment_expression "piVar25 = (int *)&DAT_000001f8" (identifier "piVar25") (= "=") (cast_expression "(int *)&DAT_000001f8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_000001f8" (& "&") (identifier "DAT_000001f8")))) (; ";")) (expression_statement "piVar37 = *(int **)(pcVar4 + 0xe82ec);" (assignment_expression "piVar37 = *(int **)(pcVar4 + 0xe82ec)" (identifier "piVar37") (= "=") (pointer_expression "*(int **)(pcVar4 + 0xe82ec)" (* "*") (cast_expression "(int **)(pcVar4 + 0xe82ec)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar4 + 0xe82ec)" (( "(") (binary_expression "pcVar4 + 0xe82ec" (identifier "pcVar4") (+ "+") (number_literal "0xe82ec")) () ")"))))) (; ";")) (expression_statement "uStack_3b0 = 0;" (assignment_expression "uStack_3b0 = 0" (identifier "uStack_3b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_3ac = 0;" (assignment_expression "uStack_3ac = 0" (identifier "uStack_3ac") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_3a8 = 0;" (assignment_expression "uStack_3a8 = 0" (identifier "uStack_3a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_3a4 = 0;" (assignment_expression "uStack_3a4 = 0" (identifier "uStack_3a4") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_3a0 = 0;" (assignment_expression "uStack_3a0 = 0" (identifier "uStack_3a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_39c = 0;" (assignment_expression "uStack_39c = 0" (identifier "uStack_39c") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_398 = 0;" (assignment_expression "iStack_398 = 0" (identifier "iStack_398") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_394 = 0;" (assignment_expression "uStack_394 = 0" (identifier "uStack_394") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppcStack_164 = (code ****)*piVar37;" (assignment_expression "ppppcStack_164 = (code ****)*piVar37" (identifier "ppppcStack_164") (= "=") (cast_expression "(code ****)*piVar37" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "*piVar37" (* "*") (identifier "piVar37")))) (; ";")) (expression_statement "piStack_160 = piVar30;" (assignment_expression "piStack_160 = piVar30" (identifier "piStack_160") (= "=") (identifier "piVar30")) (; ";")) (expression_statement "pppppppcStack_15c = pppppppcVar21;" (assignment_expression "pppppppcStack_15c = pppppppcVar21" (identifier "pppppppcStack_15c") (= "=") (identifier "pppppppcVar21")) (; ";")) (expression_statement "pppppppcStack_158 = unaff_s2;" (assignment_expression "pppppppcStack_158 = unaff_s2" (identifier "pppppppcStack_158") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "ppppcStack_154 = ppppcVar34;" (assignment_expression "ppppcStack_154 = ppppcVar34" (identifier "ppppcStack_154") (= "=") (identifier "ppppcVar34")) (; ";")) (expression_statement "pppppppcStack_150 = pppppppcVar35;" (assignment_expression "pppppppcStack_150 = pppppppcVar35" (identifier "pppppppcStack_150") (= "=") (identifier "pppppppcVar35")) (; ";")) (expression_statement "pppppppcStack_14c = unaff_s5;" (assignment_expression "pppppppcStack_14c = unaff_s5" (identifier "pppppppcStack_14c") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "pppppppcStack_148 = param_2;" (assignment_expression "pppppppcStack_148 = param_2" (identifier "pppppppcStack_148") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pppppcStack_144 = unaff_s7;" (assignment_expression "pppppcStack_144 = unaff_s7" (identifier "pppppcStack_144") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "ppppppcStack_140 = ppppppcVar20;" (assignment_expression "ppppppcStack_140 = ppppppcVar20" (identifier "ppppppcStack_140") (= "=") (identifier "ppppppcVar20")) (; ";")) (expression_statement "uStack_13c = uVar42;" (assignment_expression "uStack_13c = uVar42" (identifier "uStack_13c") (= "=") (identifier "uVar42")) (; ";")) (expression_statement "(**(code **)(pcVar4 + 0xe8220))(auStack_360);" (call_expression "(**(code **)(pcVar4 + 0xe8220))(auStack_360)" (parenthesized_expression "(**(code **)(pcVar4 + 0xe8220))" (( "(") (pointer_expression "**(code **)(pcVar4 + 0xe8220)" (* "*") (pointer_expression "*(code **)(pcVar4 + 0xe8220)" (* "*") (cast_expression "(code **)(pcVar4 + 0xe8220)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar4 + 0xe8220)" (( "(") (binary_expression "pcVar4 + 0xe8220" (identifier "pcVar4") (+ "+") (number_literal "0xe8220")) () ")"))))) () ")")) (argument_list "(auStack_360)" (( "(") (identifier "auStack_360") () ")"))) (; ";")) (expression_statement "ppppppcVar20 = *pppppppcVar8;" (assignment_expression "ppppppcVar20 = *pppppppcVar8" (identifier "ppppppcVar20") (= "=") (pointer_expression "*pppppppcVar8" (* "*") (identifier "pppppppcVar8"))) (; ";")) (expression_statement "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))();" (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68)" (* "*") (cast_expression "(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar4 + 0xe8070) + 0x7f68)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xe8070) + 0x7f68" (pointer_expression "*(int *)(pcVar4 + 0xe8070)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe8070)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe8070)" (( "(") (binary_expression "pcVar4 + 0xe8070" (identifier "pcVar4") (+ "+") (number_literal "0xe8070")) () ")")))) (+ "+") (number_literal "0x7f68")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "cStack_34c = (char)extraout_v1;" (assignment_expression "cStack_34c = (char)extraout_v1" (identifier "cStack_34c") (= "=") (cast_expression "(char)extraout_v1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "extraout_v1"))) (; ";")) (if_statement "if ((extraout_v1 & 0xff) - 1 < 5) {\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);\n    uVar23 = 1;\n    ppppppcVar20 = pppppppcVar8[1];\n    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();\n    if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }\n  }" (if "if") (parenthesized_expression "((extraout_v1 & 0xff) - 1 < 5)" (( "(") (binary_expression "(extraout_v1 & 0xff) - 1 < 5" (binary_expression "(extraout_v1 & 0xff) - 1" (parenthesized_expression "(extraout_v1 & 0xff)" (( "(") (binary_expression "extraout_v1 & 0xff" (identifier "extraout_v1") (& "&") (number_literal "0xff")) () ")")) (- "-") (number_literal "1")) (< "<") (number_literal "5")) () ")")) (compound_statement "{\n    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';\n    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);\n    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);\n    uVar23 = 1;\n    ppppppcVar20 = pppppppcVar8[1];\n    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();\n    if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }\n  }" ({ "{") (expression_statement "bStack_349 = ((char)extraout_v1 + '\x01') * '\b';" (assignment_expression "bStack_349 = ((char)extraout_v1 + '\x01') * '\b'" (identifier "bStack_349") (= "=") (binary_expression "((char)extraout_v1 + '\x01') * '\b'" (parenthesized_expression "((char)extraout_v1 + '\x01')" (( "(") (binary_expression "(char)extraout_v1 + '\x01'" (cast_expression "(char)extraout_v1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "extraout_v1")) (+ "+") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (* "*") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'")))) (; ";")) (expression_statement "bStack_34b = (byte)((extraout_v1 & 0xff) << 1);" (assignment_expression "bStack_34b = (byte)((extraout_v1 & 0xff) << 1)" (identifier "bStack_34b") (= "=") (call_expression "(byte)((extraout_v1 & 0xff) << 1)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((extraout_v1 & 0xff) << 1)" (( "(") (binary_expression "(extraout_v1 & 0xff) << 1" (parenthesized_expression "(extraout_v1 & 0xff)" (( "(") (binary_expression "extraout_v1 & 0xff" (identifier "extraout_v1") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);" (assignment_expression "iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1])" (identifier "iStack_398") (= "=") (call_expression "(**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1])" (parenthesized_expression "(**(code **)(pcVar4 + 0xe7e84))" (( "(") (pointer_expression "**(code **)(pcVar4 + 0xe7e84)" (* "*") (pointer_expression "*(code **)(pcVar4 + 0xe7e84)" (* "*") (cast_expression "(code **)(pcVar4 + 0xe7e84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar4 + 0xe7e84)" (( "(") (binary_expression "pcVar4 + 0xe7e84" (identifier "pcVar4") (+ "+") (number_literal "0xe7e84")) () ")"))))) () ")")) (argument_list "(pppppppcVar8[1])" (( "(") (subscript_expression "pppppppcVar8[1]" (identifier "pppppppcVar8") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (expression_statement "uVar23 = 1;" (assignment_expression "uVar23 = 1" (identifier "uVar23") (= "=") (number_literal "1")) (; ";")) (expression_statement "ppppppcVar20 = pppppppcVar8[1];" (assignment_expression "ppppppcVar20 = pppppppcVar8[1]" (identifier "ppppppcVar20") (= "=") (subscript_expression "pppppppcVar8[1]" (identifier "pppppppcVar8") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();" (assignment_expression "iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))()" (identifier "iVar6") (= "=") (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88)" (* "*") (cast_expression "(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar4 + 0xe8088) + 0x6c88)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xe8088) + 0x6c88" (pointer_expression "*(int *)(pcVar4 + 0xe8088)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe8088)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe8088)" (( "(") (binary_expression "pcVar4 + 0xe8088" (identifier "pcVar4") (+ "+") (number_literal "0xe8088")) () ")")))) (+ "+") (number_literal "0x6c88")) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (3 < iVar6) {\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }" (if "if") (parenthesized_expression "(3 < iVar6)" (( "(") (binary_expression "3 < iVar6" (number_literal "3") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n      uVar23 = (uint)bStack_349;\n      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }\n    }" ({ "{") (expression_statement "uVar23 = (uint)bStack_349;" (assignment_expression "uVar23 = (uint)bStack_349" (identifier "uVar23") (= "=") (cast_expression "(uint)bStack_349" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bStack_349"))) (; ";")) (expression_statement "ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);" (assignment_expression "ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3)" (identifier "ppppppcVar20") (= "=") (binary_expression "(code ******)(uint)*(byte *)(iStack_398 + 3)" (cast_expression "(code ******)(uint)" (( "(") (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)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)(iStack_398 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_398 + 3)" (( "(") (binary_expression "iStack_398 + 3" (identifier "iStack_398") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (if_statement "if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }" (if "if") (parenthesized_expression "((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6)" (( "(") (binary_expression "(int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6" (cast_expression "(int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23)" (( "(") (binary_expression "(int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23" (cast_expression "(int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40)" (( "(") (binary_expression "(code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40" (binary_expression "(code ******)(uint)*(byte *)(iStack_398 + 3)" (cast_expression "(code ******)(uint)" (( "(") (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)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)(iStack_398 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_398 + 3)" (( "(") (binary_expression "iStack_398 + 3" (identifier "iStack_398") (+ "+") (number_literal "3")) () ")")))) (+ "+") (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x40" (binary_expression "(uint)*(byte *)(iStack_398 + 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iStack_398 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_398 + 2)" (( "(") (binary_expression "iStack_398 + 2" (identifier "iStack_398") (+ "+") (number_literal "2")) () ")")))) (* "*") (number_literal "0x40"))) () ")"))) (* "*") (identifier "uVar23")) () ")"))) (<= "<=") (identifier "iVar6")) () ")")) (compound_statement "{\n        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }\n        if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }\n        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));\n        (**(code **)(pcVar4 + 0xe7e9c))();\n        ppppppcVar20 = ppppppcVar19;\n      }" ({ "{") (expression_statement "iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);" (assignment_expression "iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(pcVar4 + 0xe80f8))(0)" (parenthesized_expression "(**(code **)(pcVar4 + 0xe80f8))" (( "(") (pointer_expression "**(code **)(pcVar4 + 0xe80f8)" (* "*") (pointer_expression "*(code **)(pcVar4 + 0xe80f8)" (* "*") (cast_expression "(code **)(pcVar4 + 0xe80f8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar4 + 0xe80f8)" (( "(") (binary_expression "pcVar4 + 0xe80f8" (identifier "pcVar4") (+ "+") (number_literal "0xe80f8")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }" (if "if") (parenthesized_expression "((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0)" (( "(") (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0" (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)" (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100" (binary_expression "(uint)*(byte *)(iStack_398 + 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iStack_398 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_398 + 2)" (( "(") (binary_expression "iStack_398 + 2" (identifier "iStack_398") (+ "+") (number_literal "2")) () ")")))) (* "*") (number_literal "0x100")) (+ "+") (binary_expression "(uint)*(byte *)(iStack_398 + 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iStack_398 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_398 + 3)" (( "(") (binary_expression "iStack_398 + 3" (identifier "iStack_398") (+ "+") (number_literal "3")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar10 = *(int *)(pcVar4 + 0xe7e20);\n          iVar36 = 0;\n          iVar11 = *(int *)(pcVar4 + 0xe806c);\n          pcVar5 = *(code **)(pcVar4 + 0xe80c0);\n          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);\n          iVar12 = *(int *)(pcVar4 + 0xe7e24);\n          iVar31 = *(int *)(pcVar4 + 0xe7e24);\n          iVar13 = *(int *)(pcVar4 + 0xe7e24);\n          while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }\n        }" ({ "{") (expression_statement "iVar10 = *(int *)(pcVar4 + 0xe7e20);" (assignment_expression "iVar10 = *(int *)(pcVar4 + 0xe7e20)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(pcVar4 + 0xe7e20)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe7e20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7e20)" (( "(") (binary_expression "pcVar4 + 0xe7e20" (identifier "pcVar4") (+ "+") (number_literal "0xe7e20")) () ")"))))) (; ";")) (expression_statement "iVar36 = 0;" (assignment_expression "iVar36 = 0" (identifier "iVar36") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar11 = *(int *)(pcVar4 + 0xe806c);" (assignment_expression "iVar11 = *(int *)(pcVar4 + 0xe806c)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(pcVar4 + 0xe806c)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe806c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe806c)" (( "(") (binary_expression "pcVar4 + 0xe806c" (identifier "pcVar4") (+ "+") (number_literal "0xe806c")) () ")"))))) (; ";")) (expression_statement "pcVar5 = *(code **)(pcVar4 + 0xe80c0);" (assignment_expression "pcVar5 = *(code **)(pcVar4 + 0xe80c0)" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)(pcVar4 + 0xe80c0)" (* "*") (cast_expression "(code **)(pcVar4 + 0xe80c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar4 + 0xe80c0)" (( "(") (binary_expression "pcVar4 + 0xe80c0" (identifier "pcVar4") (+ "+") (number_literal "0xe80c0")) () ")"))))) (; ";")) (expression_statement "(*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);" (call_expression "(*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390)" (parenthesized_expression "(*(code *)(iVar11 + 0x17dc))" (( "(") (pointer_expression "*(code *)(iVar11 + 0x17dc)" (* "*") (cast_expression "(code *)(iVar11 + 0x17dc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x17dc)" (( "(") (binary_expression "iVar11 + 0x17dc" (identifier "iVar11") (+ "+") (number_literal "0x17dc")) () ")")))) () ")")) (argument_list "(auStack_360,&uStack_3b0,0,&uStack_390)" (( "(") (identifier "auStack_360") (, ",") (pointer_expression "&uStack_3b0" (& "&") (identifier "uStack_3b0")) (, ",") (number_literal "0") (, ",") (pointer_expression "&uStack_390" (& "&") (identifier "uStack_390")) () ")"))) (; ";")) (expression_statement "iVar12 = *(int *)(pcVar4 + 0xe7e24);" (assignment_expression "iVar12 = *(int *)(pcVar4 + 0xe7e24)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(pcVar4 + 0xe7e24)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe7e24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7e24)" (( "(") (binary_expression "pcVar4 + 0xe7e24" (identifier "pcVar4") (+ "+") (number_literal "0xe7e24")) () ")"))))) (; ";")) (expression_statement "iVar31 = *(int *)(pcVar4 + 0xe7e24);" (assignment_expression "iVar31 = *(int *)(pcVar4 + 0xe7e24)" (identifier "iVar31") (= "=") (pointer_expression "*(int *)(pcVar4 + 0xe7e24)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe7e24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7e24)" (( "(") (binary_expression "pcVar4 + 0xe7e24" (identifier "pcVar4") (+ "+") (number_literal "0xe7e24")) () ")"))))) (; ";")) (expression_statement "iVar13 = *(int *)(pcVar4 + 0xe7e24);" (assignment_expression "iVar13 = *(int *)(pcVar4 + 0xe7e24)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcVar4 + 0xe7e24)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe7e24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7e24)" (( "(") (binary_expression "pcVar4 + 0xe7e24" (identifier "pcVar4") (+ "+") (number_literal "0xe7e24")) () ")"))))) (; ";")) (while_statement "while( true ) {\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }\n            iVar36 = iVar36 + 1;\n            (*pcVar5)(iVar6,iVar10 + 0x1300,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;\n            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);\n            (*pcVar5)(iVar6,iVar13 + -0x4854,1);\n          }" ({ "{") (expression_statement "sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);" (call_expression "sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c)" (identifier "sqlite3_str_appendf") (argument_list "(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c)" (( "(") (identifier "iVar6") (, ",") (binary_expression "iVar12 + -0x4f84" (identifier "iVar12") (+ "+") (number_literal "-0x4f84")) (, ",") (identifier "uStack_390") (, ",") (identifier "uStack_38c") () ")"))) (; ";")) (if_statement "if (bStack_34b != 0) {\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }" (if "if") (parenthesized_expression "(bStack_34b != 0)" (( "(") (binary_expression "bStack_34b != 0" (identifier "bStack_34b") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pfVar38 = afStack_388;\n              iVar41 = 0;\n              do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);\n            }" ({ "{") (expression_statement "pfVar38 = afStack_388;" (assignment_expression "pfVar38 = afStack_388" (identifier "pfVar38") (= "=") (identifier "afStack_388")) (; ";")) (expression_statement "iVar41 = 0;" (assignment_expression "iVar41 = 0" (identifier "iVar41") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              } while (iVar41 < (int)(uint)bStack_34b);" (do "do") (compound_statement "{\n                fVar43 = *pfVar38;\n                iVar41 = iVar41 + 1;\n                pfVar38 = pfVar38 + 1;\n                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));\n              }" ({ "{") (expression_statement "fVar43 = *pfVar38;" (assignment_expression "fVar43 = *pfVar38" (identifier "fVar43") (= "=") (pointer_expression "*pfVar38" (* "*") (identifier "pfVar38"))) (; ";")) (expression_statement "iVar41 = iVar41 + 1;" (assignment_expression "iVar41 = iVar41 + 1" (identifier "iVar41") (= "=") (binary_expression "iVar41 + 1" (identifier "iVar41") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar38 = pfVar38 + 1;" (assignment_expression "pfVar38 = pfVar38 + 1" (identifier "pfVar38") (= "=") (binary_expression "pfVar38 + 1" (identifier "pfVar38") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0));" (call_expression "sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0))" (identifier "sqlite3_str_appendf") (argument_list "(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),\n                                    SUB84((double)fVar43,0))" (( "(") (identifier "iVar6") (, ",") (binary_expression "iVar31 + -0x4f7c" (identifier "iVar31") (+ "+") (number_literal "-0x4f7c")) (, ",") (cast_expression "(int)((ulonglong)(double)fVar43 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)(double)fVar43 >> 0x20)" (( "(") (binary_expression "(ulonglong)(double)fVar43 >> 0x20" (cast_expression "(ulonglong)(double)fVar43" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(double)fVar43" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar43"))) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (call_expression "SUB84((double)fVar43,0)" (identifier "SUB84") (argument_list "((double)fVar43,0)" (( "(") (cast_expression "(double)fVar43" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar43")) (, ",") (number_literal "0") () ")"))) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar41 < (int)(uint)bStack_34b)" (( "(") (binary_expression "iVar41 < (int)(uint)bStack_34b" (identifier "iVar41") (< "<") (cast_expression "(int)(uint)bStack_34b" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(uint)bStack_34b" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bStack_34b")))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar36 = iVar36 + 1;" (assignment_expression "iVar36 = iVar36 + 1" (identifier "iVar36") (= "=") (binary_expression "iVar36 + 1" (identifier "iVar36") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*pcVar5)(iVar6,iVar10 + 0x1300,1);" (call_expression "(*pcVar5)(iVar6,iVar10 + 0x1300,1)" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "(iVar6,iVar10 + 0x1300,1)" (( "(") (identifier "iVar6") (, ",") (binary_expression "iVar10 + 0x1300" (identifier "iVar10") (+ "+") (number_literal "0x1300")) (, ",") (number_literal "1") () ")"))) (; ";")) (if_statement "if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36) break;" (if "if") (parenthesized_expression "((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36)" (( "(") (binary_expression "(int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar36" (cast_expression "(int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3))" (( "(") (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)" (binary_expression "(uint)*(byte *)(iStack_398 + 2) * 0x100" (binary_expression "(uint)*(byte *)(iStack_398 + 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iStack_398 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_398 + 2)" (( "(") (binary_expression "iStack_398 + 2" (identifier "iStack_398") (+ "+") (number_literal "2")) () ")")))) (* "*") (number_literal "0x100")) (+ "+") (binary_expression "(uint)*(byte *)(iStack_398 + 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iStack_398 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_398 + 3)" (( "(") (binary_expression "iStack_398 + 3" (identifier "iStack_398") (+ "+") (number_literal "3")) () ")"))))) () ")"))) (<= "<=") (identifier "iVar36")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "(*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);" (call_expression "(*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390)" (parenthesized_expression "(*(code *)(iVar11 + 0x17dc))" (( "(") (pointer_expression "*(code *)(iVar11 + 0x17dc)" (* "*") (cast_expression "(code *)(iVar11 + 0x17dc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x17dc)" (( "(") (binary_expression "iVar11 + 0x17dc" (identifier "iVar11") (+ "+") (number_literal "0x17dc")) () ")")))) () ")")) (argument_list "(auStack_360,&uStack_3b0,iVar36,&uStack_390)" (( "(") (identifier "auStack_360") (, ",") (pointer_expression "&uStack_3b0" (& "&") (identifier "uStack_3b0")) (, ",") (identifier "iVar36") (, ",") (pointer_expression "&uStack_390" (& "&") (identifier "uStack_390")) () ")"))) (; ";")) (expression_statement "(*pcVar5)(iVar6,iVar13 + -0x4854,1);" (call_expression "(*pcVar5)(iVar6,iVar13 + -0x4854,1)" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "(iVar6,iVar13 + -0x4854,1)" (( "(") (identifier "iVar6") (, ",") (binary_expression "iVar13 + -0x4854" (identifier "iVar13") (+ "+") (number_literal "-0x4854")) (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (iVar6 == 0) {\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }\n        else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar23 = 7;\n          piVar25 = (int *)0x0;\n        }" ({ "{") (expression_statement "uVar23 = 7;" (assignment_expression "uVar23 = 7" (identifier "uVar23") (= "=") (number_literal "7")) (; ";")) (expression_statement "piVar25 = (int *)0x0;" (assignment_expression "piVar25 = (int *)0x0" (identifier "piVar25") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }" (else "else") (compound_statement "{\n          uVar23 = (uint)*(byte *)(iVar6 + 0x14);\n          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }\n        }" ({ "{") (expression_statement "uVar23 = (uint)*(byte *)(iVar6 + 0x14);" (assignment_expression "uVar23 = (uint)*(byte *)(iVar6 + 0x14)" (identifier "uVar23") (= "=") (binary_expression "(uint)*(byte *)(iVar6 + 0x14)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(iVar6 + 0x14)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {\n            piVar25 = (int *)0x0;\n          }\n          else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }" (if "if") (parenthesized_expression "(iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98)" (( "(") (binary_expression "iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98" (identifier "iVar6") (== "==") (binary_expression "*(int *)(pcVar4 + 0xe7e10) + -0xb98" (pointer_expression "*(int *)(pcVar4 + 0xe7e10)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe7e10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7e10)" (( "(") (binary_expression "pcVar4 + 0xe7e10" (identifier "pcVar4") (+ "+") (number_literal "0xe7e10")) () ")")))) (+ "+") (number_literal "-0xb98"))) () ")")) (compound_statement "{\n            piVar25 = (int *)0x0;\n          }" ({ "{") (expression_statement "piVar25 = (int *)0x0;" (assignment_expression "piVar25 = (int *)0x0" (identifier "piVar25") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }" (else "else") (compound_statement "{\n            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);\n          }" ({ "{") (expression_statement "piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);" (assignment_expression "piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6)" (identifier "piVar25") (= "=") (cast_expression "(int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6)" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48)" (* "*") (cast_expression "(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar4 + 0xe8070) + 0x1f48)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xe8070) + 0x1f48" (pointer_expression "*(int *)(pcVar4 + 0xe8070)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe8070)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe8070)" (( "(") (binary_expression "pcVar4 + 0xe8070" (identifier "pcVar4") (+ "+") (number_literal "0xe8070")) () ")")))) (+ "+") (number_literal "0x1f48")) () ")")))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))))) (; ";")) (} "}")))) (} "}")))) (expression_statement "(*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34));" (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))\n                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34))" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0)" (* "*") (cast_expression "(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar4 + 0xe8088) + -0x13c0)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xe8088) + -0x13c0" (pointer_expression "*(int *)(pcVar4 + 0xe8088)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe8088)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe8088)" (( "(") (binary_expression "pcVar4 + 0xe8088" (identifier "pcVar4") (+ "+") (number_literal "0xe8088")) () ")")))) (+ "+") (number_literal "-0x13c0")) () ")")))) () ")")) (argument_list "(ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,\n                   *(undefined4 *)(pcVar4 + 0xe7e34))" (( "(") (identifier "ppppppcVar19") (, ",") (binary_expression "ppppppcVar19 + 5" (identifier "ppppppcVar19") (+ "+") (number_literal "5")) (, ",") (identifier "piVar25") (, ",") (number_literal "0xffffffff") (, ",") (number_literal "1") (, ",") (pointer_expression "*(undefined4 *)(pcVar4 + 0xe7e34)" (* "*") (cast_expression "(undefined4 *)(pcVar4 + 0xe7e34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7e34)" (( "(") (binary_expression "pcVar4 + 0xe7e34" (identifier "pcVar4") (+ "+") (number_literal "0xe7e34")) () ")")))) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar4 + 0xe7e9c))();" (call_expression "(**(code **)(pcVar4 + 0xe7e9c))()" (parenthesized_expression "(**(code **)(pcVar4 + 0xe7e9c))" (( "(") (pointer_expression "**(code **)(pcVar4 + 0xe7e9c)" (* "*") (pointer_expression "*(code **)(pcVar4 + 0xe7e9c)" (* "*") (cast_expression "(code **)(pcVar4 + 0xe7e9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar4 + 0xe7e9c)" (( "(") (binary_expression "pcVar4 + 0xe7e9c" (identifier "pcVar4") (+ "+") (number_literal "0xe7e9c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppppppcVar20 = ppppppcVar19;" (assignment_expression "ppppppcVar20 = ppppppcVar19" (identifier "ppppppcVar20") (= "=") (identifier "ppppppcVar19")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "ppppcVar34 = (code ****)*piVar37;" (assignment_expression "ppppcVar34 = (code ****)*piVar37" (identifier "ppppcVar34") (= "=") (cast_expression "(code ****)*piVar37" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (pointer_expression "*piVar37" (* "*") (identifier "piVar37")))) (; ";")) (if_statement "if (ppppcStack_164 == ppppcVar34) {\n    return ppppcVar34;\n  }" (if "if") (parenthesized_expression "(ppppcStack_164 == ppppcVar34)" (( "(") (binary_expression "ppppcStack_164 == ppppcVar34" (identifier "ppppcStack_164") (== "==") (identifier "ppppcVar34")) () ")")) (compound_statement "{\n    return ppppcVar34;\n  }" ({ "{") (return_statement "return ppppcVar34;" (return "return") (identifier "ppppcVar34") (; ";")) (} "}"))) (expression_statement "pcVar4 = *(code **)(pcVar4 + 0xe82c0);" (assignment_expression "pcVar4 = *(code **)(pcVar4 + 0xe82c0)" (identifier "pcVar4") (= "=") (pointer_expression "*(code **)(pcVar4 + 0xe82c0)" (* "*") (cast_expression "(code **)(pcVar4 + 0xe82c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar4 + 0xe82c0)" (( "(") (binary_expression "pcVar4 + 0xe82c0" (identifier "pcVar4") (+ "+") (number_literal "0xe82c0")) () ")"))))) (; ";")) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" (( "(") (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5) {\n    return (code ****)0x5;\n  }" (if "if") (parenthesized_expression "(*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5)" (( "(") (binary_expression "*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5" (pointer_expression "*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c)" (* "*") (cast_expression "(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c)" (( "(") (binary_expression "(*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c" (binary_expression "(*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc)" (parenthesized_expression "(*(ushort *)(*piVar25 + 8) & 0x1f)" (( "(") (binary_expression "*(ushort *)(*piVar25 + 8) & 0x1f" (pointer_expression "*(ushort *)(*piVar25 + 8)" (* "*") (cast_expression "(ushort *)(*piVar25 + 8)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar25 + 8)" (( "(") (binary_expression "*piVar25 + 8" (pointer_expression "*piVar25" (* "*") (identifier "piVar25")) (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0x1f")) () ")")) (+ "+") (pointer_expression "*(int *)(pcVar4 + 0xe7acc)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe7acc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7acc)" (( "(") (binary_expression "pcVar4 + 0xe7acc" (identifier "pcVar4") (+ "+") (number_literal "0xe7acc")) () ")"))))) (+ "+") (number_literal "0x6a8c")) () ")")))) (== "==") (number_literal "5")) () ")")) (compound_statement "{\n    return (code ****)0x5;\n  }" ({ "{") (return_statement "return (code ****)0x5;" (return "return") (cast_expression "(code ****)0x5" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x5")) (; ";")) (} "}"))) (expression_statement "pppppcVar15 = ppppppcVar20[2];" (assignment_expression "pppppcVar15 = ppppppcVar20[2]" (identifier "pppppcVar15") (= "=") (subscript_expression "ppppppcVar20[2]" (identifier "ppppppcVar20") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000);" (assignment_expression "ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000)" (identifier "ppppcVar34") (= "=") (cast_expression "(code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(ushort *)(pppppcVar15 + 2) & 0x2000)" (( "(") (binary_expression "*(ushort *)(pppppcVar15 + 2) & 0x2000" (pointer_expression "*(ushort *)(pppppcVar15 + 2)" (* "*") (cast_expression "(ushort *)(pppppcVar15 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppcVar15 + 2)" (( "(") (binary_expression "pppppcVar15 + 2" (identifier "pppppcVar15") (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x2000")) () ")")))) (; ";")) (if_statement "if ((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0) {\n    ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);\n    ppppcVar28 = ppppcVar34;\n  }\n  else {\n    ppppcVar28 = pppppcVar15[4];\n  }" (if "if") (parenthesized_expression "((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0)" (( "(") (binary_expression "(*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0" (parenthesized_expression "(*(ushort *)(pppppcVar15 + 2) & 0x2000)" (( "(") (binary_expression "*(ushort *)(pppppcVar15 + 2) & 0x2000" (pointer_expression "*(ushort *)(pppppcVar15 + 2)" (* "*") (cast_expression "(ushort *)(pppppcVar15 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pppppcVar15 + 2)" (( "(") (binary_expression "pppppcVar15 + 2" (identifier "pppppcVar15") (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x2000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);\n    ppppcVar28 = ppppcVar34;\n  }" ({ "{") (expression_statement "ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18);" (assignment_expression "ppppcVar34 = (code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18)" (identifier "ppppcVar34") (= "=") (cast_expression "(code ****)\n                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))\n                           (ppppppcVar20 + 1,pppppcVar15,0x18)" (parenthesized_expression "(*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))" (( "(") (pointer_expression "*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168)" (* "*") (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + -0x4168)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xe7d30) + -0x4168" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe7d30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7d30)" (( "(") (binary_expression "pcVar4 + 0xe7d30" (identifier "pcVar4") (+ "+") (number_literal "0xe7d30")) () ")")))) (+ "+") (number_literal "-0x4168")) () ")")))) () ")")) (argument_list "(ppppppcVar20 + 1,pppppcVar15,0x18)" (( "(") (binary_expression "ppppppcVar20 + 1" (identifier "ppppppcVar20") (+ "+") (number_literal "1")) (, ",") (identifier "pppppcVar15") (, ",") (number_literal "0x18") () ")"))))) (; ";")) (expression_statement "ppppcVar28 = ppppcVar34;" (assignment_expression "ppppcVar28 = ppppcVar34" (identifier "ppppcVar28") (= "=") (identifier "ppppcVar34")) (; ";")) (} "}")) (else_clause "else {\n    ppppcVar28 = pppppcVar15[4];\n  }" (else "else") (compound_statement "{\n    ppppcVar28 = pppppcVar15[4];\n  }" ({ "{") (expression_statement "ppppcVar28 = pppppcVar15[4];" (assignment_expression "ppppcVar28 = pppppcVar15[4]" (identifier "ppppcVar28") (= "=") (subscript_expression "pppppcVar15[4]" (identifier "pppppcVar15") ([ "[") (number_literal "4") (] "]"))) (; ";")) (} "}")))) (if_statement "if (ppppcVar28 == (code ****)0x0) {\n    return ppppcVar34;\n  }" (if "if") (parenthesized_expression "(ppppcVar28 == (code ****)0x0)" (( "(") (binary_expression "ppppcVar28 == (code ****)0x0" (identifier "ppppcVar28") (== "==") (cast_expression "(code ****)0x0" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    return ppppcVar34;\n  }" ({ "{") (return_statement "return ppppcVar34;" (return "return") (identifier "ppppcVar34") (; ";")) (} "}"))) (expression_statement "pppcVar14 = ppppcVar28[3];" (assignment_expression "pppcVar14 = ppppcVar28[3]" (identifier "pppcVar14") (= "=") (subscript_expression "ppppcVar28[3]" (identifier "ppppcVar28") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "ppppcVar28[3] = (*ppppppcVar20)[8][0x1b];" (assignment_expression "ppppcVar28[3] = (*ppppppcVar20)[8][0x1b]" (subscript_expression "ppppcVar28[3]" (identifier "ppppcVar28") ([ "[") (number_literal "3") (] "]")) (= "=") (subscript_expression "(*ppppppcVar20)[8][0x1b]" (subscript_expression "(*ppppppcVar20)[8]" (parenthesized_expression "(*ppppppcVar20)" (( "(") (pointer_expression "*ppppppcVar20" (* "*") (identifier "ppppppcVar20")) () ")")) ([ "[") (number_literal "8") (] "]")) ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (if_statement "if (pppcVar14 == (code ***)0x0) {\n    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar6 = *piVar25;\n  }\n  else {\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }" (if "if") (parenthesized_expression "(pppcVar14 == (code ***)0x0)" (( "(") (binary_expression "pppcVar14 == (code ***)0x0" (identifier "pppcVar14") (== "==") (cast_expression "(code ***)0x0" (( "(") (type_descriptor "code ***" (type_identifier "code") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\nLAB_000a8f8c:\n    iVar6 = *piVar25;\n  }" ({ "{") (expression_statement "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);" (assignment_expression "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" (identifier "pcVar32") (= "=") (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6f60" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe7d30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7d30)" (( "(") (binary_expression "pcVar4 + 0xe7d30" (identifier "pcVar4") (+ "+") (number_literal "0xe7d30")) () ")")))) (+ "+") (number_literal "0x6f60")) () ")")))) (; ";")) (expression_statement "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);" (assignment_expression "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" (identifier "pcVar5") (= "=") (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6c88" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe7d30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7d30)" (( "(") (binary_expression "pcVar4 + 0xe7d30" (identifier "pcVar4") (+ "+") (number_literal "0xe7d30")) () ")")))) (+ "+") (number_literal "0x6c88")) () ")")))) (; ";")) (labeled_statement "LAB_000a8f8c:\n    iVar6 = *piVar25;" (statement_identifier "LAB_000a8f8c") (: ":") (expression_statement "iVar6 = *piVar25;" (assignment_expression "iVar6 = *piVar25" (identifier "iVar6") (= "=") (pointer_expression "*piVar25" (* "*") (identifier "piVar25"))) (; ";"))) (} "}")) (else_clause "else {\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }" (else "else") (compound_statement "{\n    if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    (*pcVar40)(ppppcVar28,iVar6,uVar42);\n    iVar6 = *piVar25;\n  }" ({ "{") (if_statement "if (uVar23 == 2) {\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }\n    else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }" (if "if") (parenthesized_expression "(uVar23 == 2)" (( "(") (binary_expression "uVar23 == 2" (identifier "uVar23") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      iVar6 = (*pcVar32)(piVar25[1],1);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      uVar42 = (*pcVar5)(piVar25[1],1);\n      if (iVar6 == 0) goto LAB_000a8f8c;\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }" ({ "{") (expression_statement "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);" (assignment_expression "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" (identifier "pcVar32") (= "=") (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6f60" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe7d30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7d30)" (( "(") (binary_expression "pcVar4 + 0xe7d30" (identifier "pcVar4") (+ "+") (number_literal "0xe7d30")) () ")")))) (+ "+") (number_literal "0x6f60")) () ")")))) (; ";")) (expression_statement "iVar6 = (*pcVar32)(piVar25[1],1);" (assignment_expression "iVar6 = (*pcVar32)(piVar25[1],1)" (identifier "iVar6") (= "=") (call_expression "(*pcVar32)(piVar25[1],1)" (parenthesized_expression "(*pcVar32)" (( "(") (pointer_expression "*pcVar32" (* "*") (identifier "pcVar32")) () ")")) (argument_list "(piVar25[1],1)" (( "(") (subscript_expression "piVar25[1]" (identifier "piVar25") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);" (assignment_expression "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" (identifier "pcVar5") (= "=") (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6c88" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe7d30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7d30)" (( "(") (binary_expression "pcVar4 + 0xe7d30" (identifier "pcVar4") (+ "+") (number_literal "0xe7d30")) () ")")))) (+ "+") (number_literal "0x6c88")) () ")")))) (; ";")) (expression_statement "uVar42 = (*pcVar5)(piVar25[1],1);" (assignment_expression "uVar42 = (*pcVar5)(piVar25[1],1)" (identifier "uVar42") (= "=") (call_expression "(*pcVar5)(piVar25[1],1)" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "(piVar25[1],1)" (( "(") (subscript_expression "piVar25[1]" (identifier "piVar25") ([ "[") (number_literal "1") (] "]")) (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) goto LAB_000a8f8c;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000a8f8c;" (goto "goto") (statement_identifier "LAB_000a8f8c") (; ";"))) (expression_statement "pcVar40 = *(code **)(pcVar4 + 0xe7d68);" (assignment_expression "pcVar40 = *(code **)(pcVar4 + 0xe7d68)" (identifier "pcVar40") (= "=") (pointer_expression "*(code **)(pcVar4 + 0xe7d68)" (* "*") (cast_expression "(code **)(pcVar4 + 0xe7d68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar4 + 0xe7d68)" (( "(") (binary_expression "pcVar4 + 0xe7d68" (identifier "pcVar4") (+ "+") (number_literal "0xe7d68")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }" (else "else") (compound_statement "{\n      uVar42 = 1;\n      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;\n      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);\n      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);\n      pcVar40 = *(code **)(pcVar4 + 0xe7d68);\n    }" ({ "{") (expression_statement "uVar42 = 1;" (assignment_expression "uVar42 = 1" (identifier "uVar42") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;" (assignment_expression "iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar4 + 0xe7ac8) + 0x138c" (pointer_expression "*(int *)(pcVar4 + 0xe7ac8)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe7ac8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7ac8)" (( "(") (binary_expression "pcVar4 + 0xe7ac8" (identifier "pcVar4") (+ "+") (number_literal "0xe7ac8")) () ")")))) (+ "+") (number_literal "0x138c"))) (; ";")) (expression_statement "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);" (assignment_expression "pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" (identifier "pcVar32") (= "=") (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6f60)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6f60" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe7d30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7d30)" (( "(") (binary_expression "pcVar4 + 0xe7d30" (identifier "pcVar4") (+ "+") (number_literal "0xe7d30")) () ")")))) (+ "+") (number_literal "0x6f60")) () ")")))) (; ";")) (expression_statement "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);" (assignment_expression "pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" (identifier "pcVar5") (= "=") (cast_expression "(code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar4 + 0xe7d30) + 0x6c88)" (( "(") (binary_expression "*(int *)(pcVar4 + 0xe7d30) + 0x6c88" (pointer_expression "*(int *)(pcVar4 + 0xe7d30)" (* "*") (cast_expression "(int *)(pcVar4 + 0xe7d30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar4 + 0xe7d30)" (( "(") (binary_expression "pcVar4 + 0xe7d30" (identifier "pcVar4") (+ "+") (number_literal "0xe7d30")) () ")")))) (+ "+") (number_literal "0x6c88")) () ")")))) (; ";")) (expression_statement "pcVar40 = *(code **)(pcVar4 + 0xe7d68);" (assignment_expression "pcVar40 = *(code **)(pcVar4 + 0xe7d68)" (identifier "pcVar40") (= "=") (pointer_expression "*(code **)(pcVar4 + 0xe7d68)" (* "*") (cast_expression "(code **)(pcVar4 + 0xe7d68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar4 + 0xe7d68)" (( "(") (binary_expression "pcVar4 + 0xe7d68" (identifier "pcVar4") (+ "+") (number_literal "0xe7d68")) () ")"))))) (; ";")) (} "}")))) (expression_statement "(*pcVar40)(ppppcVar28,iVar6,uVar42);" (call_expression "(*pcVar40)(ppppcVar28,iVar6,uVar42)" (parenthesized_expression "(*pcVar40)" (( "(") (pointer_expression "*pcVar40" (* "*") (identifier "pcVar40")) () ")")) (argument_list "(ppppcVar28,iVar6,uVar42)" (( "(") (identifier "ppppcVar28") (, ",") (identifier "iVar6") (, ",") (identifier "uVar42") () ")"))) (; ";")) (expression_statement "iVar6 = *piVar25;" (assignment_expression "iVar6 = *piVar25" (identifier "iVar6") (= "=") (pointer_expression "*piVar25" (* "*") (identifier "piVar25"))) (; ";")) (} "}")))) (expression_statement "iVar6 = (*pcVar32)(iVar6,1);" (assignment_expression "iVar6 = (*pcVar32)(iVar6,1)" (identifier "iVar6") (= "=") (call_expression "(*pcVar32)(iVar6,1)" (parenthesized_expression "(*pcVar32)" (( "(") (pointer_expression "*pcVar32" (* "*") (identifier "pcVar32")) () ")")) (argument_list "(iVar6,1)" (( "(") (identifier "iVar6") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1);" (assignment_expression "ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1)" (identifier "ppppcVar34") (= "=") (cast_expression "(code ****)(*pcVar5)(*piVar25,1)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(*pcVar5)(*piVar25,1)" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "(*piVar25,1)" (( "(") (pointer_expression "*piVar25" (* "*") (identifier "piVar25")) (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if (iVar6 == 0) {\n    return ppppcVar34;\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return ppppcVar34;\n  }" ({ "{") (return_statement "return ppppcVar34;" (return "return") (identifier "ppppcVar34") (; ";")) (} "}"))) (expression_statement "ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34);" (assignment_expression "ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34)" (identifier "ppppcVar34") (= "=") (cast_expression "(code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34)" (parenthesized_expression "(**(code **)(pcVar4 + 0xe7d68))" (( "(") (pointer_expression "**(code **)(pcVar4 + 0xe7d68)" (* "*") (pointer_expression "*(code **)(pcVar4 + 0xe7d68)" (* "*") (cast_expression "(code **)(pcVar4 + 0xe7d68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar4 + 0xe7d68)" (( "(") (binary_expression "pcVar4 + 0xe7d68" (identifier "pcVar4") (+ "+") (number_literal "0xe7d68")) () ")"))))) () ")")) (argument_list "(ppppcVar28,iVar6,ppppcVar34)" (( "(") (identifier "ppppcVar28") (, ",") (identifier "iVar6") (, ",") (identifier "ppppcVar34") () ")"))))) (; ";")) (return_statement "return ppppcVar34;" (return "return") (identifier "ppppcVar34") (; ";")) (} "}")))

void function_1(type_1 *pCheck,int var_3,int var_1,type_2 var_2)

{
  type_3 uVar1;
  bool bVar2;
  bool bVar3;
  type_3 *puVar4;
  type_4 *puVar5;
  type_5 extraout_var;
  type_6 *var_50;
  type_6 *pcVar7;
  int var_9;
  char *pcVar9;
  type_7 *var_39;
  type_8 *var_22;
  type_8 *var_28;
  type_9 uVar16;
  type_10 var_35;
  type_11 *var_57;
  int var_20;
  int var_21;
  int var_17;
  type_10 var_36;
  type_10 var_51;
  type_1 *pCheck_00;
  type_8 *var_41;
  type_10 var_38;
  type_12 *psVar21;
  type_12 *psVar22;
  type_8 *var_19;
  type_2 var_10;
  char *zFormat;
  type_10 var_25;
  type_13 *pCVar26;
  type_2 *puVar27;
  type_7 *var_40;
  int *piVar29;
  type_14 uVar30;
  int var_45;
  type_10 var_34;
  type_15 *var_30;
  type_10 var_37;
  type_8 *var_16;
  int *piVar35;
  type_4 *unaff_s1;
  type_16 *pPVar36;
  type_15 *var_33;
  type_17 *var_59;
  type_8 *var_13;
  type_16 PVar39;
  int var_47;
  type_6 *pcVar41;
  type_8 *var_11;
  type_18 *paVar42;
  type_10 var_24;
  type_8 *unaff_s4;
  type_8 *pBVar44;
  type_10 var_31;
  int var_48;
  type_8 *unaff_s5;
  int *piVar47;
  type_19 *unaff_s7;
  float *var_55;
  type_4 *var_14;
  type_6 *pcVar50;
  int var_46;
  float fVar52;
  type_14 uStack_3b0;
  type_14 uStack_3ac;
  type_14 uStack_3a8;
  type_14 uStack_3a4;
  type_14 uStack_3a0;
  type_14 uStack_39c;
  int var_52;
  type_14 uStack_394;
  type_14 uStack_390;
  type_14 uStack_38c;
  float afStack_388 [10];
  type_7 auStack_360 [20];
  char cStack_34c;
  type_20 var_54;
  type_20 bStack_349;
  int var_58;
  int *piStack_160;
  type_8 *pBStack_15c;
  type_8 *pBStack_158;
  int iStack_154;
  type_8 *pBStack_150;
  type_8 *pBStack_14c;
  type_3 *puStack_148;
  type_19 *pBStack_144;
  type_1 *pIStack_140;
  type_6 *pcStack_13c;
  int var_29;
  type_21 *var_49;
  type_7 auStack_b0 [32];
  type_8 *pBStack_90;
  type_4 *puStack_8c;
  type_8 *pBStack_88;
  type_2 uStack_84;
  type_8 *pBStack_80;
  type_8 *pBStack_7c;
  type_22 *psStack_78;
  type_19 *pBStack_74;
  type_1 *pIStack_70;
  type_8 *pBStack_6c;
  type_8 *pBStack_64;
  type_23 *var_42;
  type_12 *var_43;
  type_24 *var_15;
  type_12 *var_18;
  
  puVar5 = PTR___stack_chk_guard_00190e24;
  var_14 = var_4;
  var_17 = pCheck->nErr;
  var_18 = *(type_12 **)PTR___stack_chk_guard_00190e24;
  if ((var_1 == 0) || (pCheck->mxErr == 0)) {
    pCheck_00 = pCheck;
    var_19 = (type_8 *)var_3;
    pBStack_80 = unaff_s4;
    if (var_2 != 0) {
      var_17 = 0;
LAB_000a819c:
      if (var_3 == 0) {
        var_1 = (int)(var_4 + -0x5154);
      }
      else {
        var_1 = (int)(var_4 + -0x5f18);
      }
      var_19 = (type_8 *)(var_4 + -0x50fc);
      pCheck_00 = pCheck;
      var_42 = (type_23 *)var_2;
      var_5(pCheck,(char *)var_19,var_1,var_17);
      pBStack_80 = unaff_s4;
    }
  }
  else {
    unaff_s1 = var_6 + 0x7cd0;
    unaff_s5 = (type_8 *)(var_6 + 0x7d78);
    var_50 = (type_6 *)(var_7 + 0xee8);
    pcVar7 = (type_6 *)(var_6 + 0x7bb8);
    var_16 = (type_8 *)var_1;
    var_10 = var_2;
    var_11 = unaff_s4;
    while (pCheck_00 = pCheck, var_19 = var_16, var_9 = var_8(pCheck,(type_16)var_16),
          pBStack_80 = var_11, var_9 == 0) {
      var_1 = (int)&var_15;
      var_11 = (type_8 *)(var_10 - 1);
      var_9 = (*pCheck->pPager->xGet)(pCheck->pPager,(type_16)var_16,(type_24 **)var_1,0);
      pBStack_80 = var_11;
      if (var_9 != 0) {
        var_19 = (type_8 *)(var_4 + -0x513c);
        pCheck_00 = pCheck;
        var_1 = (int)var_16;
        var_5(pCheck,(char *)var_19);
        if (var_11 == (type_8 *)0x0) goto LAB_000a8064;
        var_9 = pCheck->nErr;
        unaff_s4 = var_11;
        goto LAB_000a8188;
      }
      var_19 = pCheck->pBt;
      unaff_s7 = (type_19 *)var_15->pData;
      puVar4 = &var_19->autoVacuum;
      if (var_3 == 0) {
        var_19 = (type_8 *)unaff_s7->iSize;
        var_22 = var_19;
        var_10 = (type_2)var_11;
        if ((*puVar4 != '\0') && (var_1 = (int)&DAT_00000004, var_11 != (type_8 *)0x0)) {
          var_12(pCheck,(type_16)var_19,'\x04',(type_16)var_16);
          var_22 = (type_8 *)unaff_s7->iSize;
          goto LAB_000a7fb8;
        }
LAB_000a8048:
        pCheck_00 = (type_1 *)var_15;
        (*var_50)();
        var_16 = var_22;
      }
      else {
        var_13 = (type_8 *)unaff_s7->nSet;
        if (*puVar4 != '\0') {
          var_1 = (int)&SUB_00000002;
          var_12(pCheck,(type_16)var_16,'\x02',0);
          var_19 = pCheck->pBt;
        }
        if ((type_8 *)((var_19->usableSize >> 2) - 2) < var_13) {
          var_10 = var_10 - 2;
          var_19 = (type_8 *)(var_14 + -0x5124);
          (*pcVar7)(pCheck);
          var_22 = (type_8 *)unaff_s7->iSize;
          var_1 = (int)var_16;
        }
        else {
          if (0 < (int)var_13) {
            paVar42 = (type_18 *)&unaff_s7->iDivisor;
            puVar27 = paVar42->aHash + (int)var_13;
            while( true ) {
              var_22 = (type_8 *)paVar42->aHash[0];
              if (var_19->autoVacuum == '\0') {
                var_8(pCheck,(type_16)var_22);
                var_19 = var_22;
              }
              else {
                var_1 = (int)&SUB_00000002;
                var_12(pCheck,(type_16)var_22,'\x02',0);
                var_8(pCheck,(type_16)var_22);
                var_19 = var_22;
              }
              if ((type_18 *)((int)paVar42->aBitmap + 4) ==
                  (type_18 *)puVar27) break;
              paVar42 = (type_18 *)(paVar42->aHash + 1);
              var_19 = pCheck->pBt;
            }
          }
          var_22 = (type_8 *)unaff_s7->iSize;
          var_10 = (int)var_11 - (int)var_13;
        }
LAB_000a7fb8:
        var_16 = var_22;
        pCheck_00 = (type_1 *)var_15;
        if (var_15 != (type_24 *)0x0) goto LAB_000a8048;
      }
      if ((var_16 == (type_8 *)0x0) || (pCheck->mxErr == 0)) break;
    }
    var_11 = (type_8 *)var_10;
    if (var_10 != 0) {
      var_9 = pCheck->nErr;
      unaff_s4 = pBStack_80;
LAB_000a8188:
      pBStack_80 = unaff_s4;
      if (var_9 == var_17) {
        var_17 = var_2 - (int)var_11;
        goto LAB_000a819c;
      }
    }
  }
LAB_000a8064:
  if (var_18 == *(type_12 **)puVar5) {
    return;
  }
  var_50 = var_26;
  var_14 = PTR___stack_chk_fail_00190df8;
  (*(type_6 *)PTR___stack_chk_fail_00190df8)();
  piVar35 = *(int **)(var_14 + 0xe8bf8);
  var_49 = (type_21 *)0x0;
  auStack_b0._28_4_ = *piVar35;
  var_22 = (type_8 *)var_1;
  pBVar44 = pBStack_80;
  pBStack_90 = var_16;
  puStack_8c = unaff_s1;
  pBStack_88 = var_13;
  uStack_84 = (type_2)var_11;
  pBStack_7c = unaff_s5;
  psStack_78 = (type_22 *)var_3;
  pBStack_74 = unaff_s7;
  pIStack_70 = pCheck;
  pBStack_6c = (type_8 *)var_50;
  if (var_19 == (type_8 *)0x0) {
LAB_000a8280:
    var_1 = (int)unaff_s5;
    var_29 = 0;
    pCheck_00 = pCheck;
  }
  else {
    pcVar9 = pCheck_00->zPfx;
    pBVar44 = pCheck_00->pBt;
    var_17 = pCheck_00->v1;
    var_9 = pCheck_00->v2;
    var_39 = (type_7 *)pBVar44->usableSize;
    var_20 = var_8(pCheck_00,(type_16)var_19);
    unaff_s5 = (type_8 *)var_1;
    pCheck = pCheck_00;
    if (var_20 != 0) goto LAB_000a8280;
    var_20 = *(int *)(var_14 + 0xe8730);
    var_21 = *(int *)(var_14 + 0xe8914);
    pCheck_00->v1 = (int)var_19;
    pCheck_00->zPfx = (char *)(var_20 + -0x50e0);
    var_22 = (type_8 *)(*(type_6 *)(var_21 + 0x1420))(pBVar44,var_19,&var_49,0);
    if (var_22 == (type_8 *)0x0) {
      uVar1 = var_49->isInit;
      var_49->isInit = '\0';
      var_22 = (type_8 *)var_23(var_49);
      if (var_22 != (type_8 *)0x0) {
        zFormat = (char *)(*(int *)(var_14 + 0xe8730) + -0x50ac);
        goto LAB_000a86a4;
      }
      var_3 = (int)var_49->aData;
      var_24 = (type_10)var_49->hdrOffset;
      pCheck_00->zPfx = (char *)(*(int *)(var_14 + 0xe8730) + -0x5084);
      var_20 = var_24 + 0xc + (type_10)var_49->leaf * -4;
      var_28 = (type_8 *)(*(type_15 *)(var_3 + var_24 + 3) - 1);
      var_22 = (type_8 *)(*(type_15 *)(var_3 + var_24 + 5) - 1);
      var_25 = (type_10)var_22 & 0xffff;
      var_41 = (type_8 *)(var_25 + 1);
      if (var_49->leaf == 0) {
        PVar39 = *(type_16 *)(var_3 + var_24 + 8);
        if (pBVar44->autoVacuum != '\0') {
          pCheck_00->zPfx = (char *)(*(int *)(var_14 + 0xe8730) + -0x5068);
          var_12(pCheck_00,PVar39,'\x05',(type_16)var_19);
        }
        var_22 = (type_8 *)&var_42;
        unaff_s7 = (type_19 *)0x0;
        var_29 = var_26(pCheck_00,PVar39,(type_25 *)var_22,var_27(var_42,var_43));
        bVar2 = false;
      }
      else {
        unaff_s7 = (type_19 *)pCheck_00->heap;
        bVar2 = true;
        unaff_s7->iSize = 0;
        var_29 = -1;
      }
      var_13 = var_28;
      if ((var_28 == (type_8 *)0xffffffff) || (pCheck_00->mxErr == 0)) {
        var_29 = var_29 + 1;
        ((type_8 *)var_1)->db = var_43;
        ((type_8 *)var_1)->pPager = var_42;
        pCheck_00->zPfx = (char *)0x0;
LAB_000a878c:
        if (0 < pCheck_00->mxErr) {
          if (var_49->leaf == '\0') {
            unaff_s7 = (type_19 *)pCheck_00->heap;
            unaff_s7->iSize = 0;
            if (var_28 != (type_8 *)0xffffffff) {
              var_1 = *(int *)(var_14 + 0xe8914) + 0x1738;
              var_30 = (type_15 *)(var_3 + (int)var_28 * 2 + var_20);
              pBStack_64 = var_19;
              do {
                var_33 = var_30 + -1;
                var_31 = (type_10)*var_30;
                uVar16 = (*var_49->xCellSize)(var_49,(type_3 *)(var_3 + var_31));
                pBVar44 = (type_8 *)(var_32(extraout_var,uVar16) + -1 + var_31);
                (*(type_6 *)var_1)(unaff_s7,(type_10)pBVar44 | var_31 << 0x10);
                var_30 = var_33;
                var_19 = pBStack_64;
              } while ((type_15 *)(var_3 + var_20 + -2) != var_33);
            }
          }
          var_31 = (type_10)*(type_15 *)(var_3 + var_24 + 1);
          var_13 = *(type_8 **)(var_14 + 0xe8914);
          if (var_31 != 0) {
            var_13 = (type_8 *)&var_13[0x46].nRef;
            piVar29 = (int *)var_13;
            do {
              var_30 = (type_15 *)(var_3 + var_31);
              (*(type_6 *)piVar29)(unaff_s7,(var_30[1] + var_31) - 1 | var_31 << 0x10);
              var_31 = (type_10)*var_30;
            } while (var_31 != 0);
          }
          var_10 = unaff_s7->iSize;
          if (var_10 == 0) {
            var_40 = (type_7 *)0x0;
          }
          else {
            var_40 = (type_7 *)0x0;
            do {
              var_31 = unaff_s7->nSet;
              unaff_s7->nSet = (&unaff_s7->iSize)[var_10];
              (&unaff_s7->iSize)[var_10] = 0xffffffff;
              var_10 = unaff_s7->iSize - 1;
              unaff_s7->iSize = var_10;
              if (1 < var_10) {
                var_37 = unaff_s7->nSet;
                var_34 = 2;
                var_35 = 1;
                do {
                  puVar27 = &unaff_s7->nSet + var_34;
                  var_36 = *puVar27;
                  var_38 = var_34 + 1;
                  if ((&unaff_s7->iSize)[var_35 * 2] <= var_36) {
                    puVar27 = &unaff_s7->iSize + var_34;
                    var_36 = *puVar27;
                    var_38 = var_34;
                  }
                  if (var_37 < var_36) break;
                  (&unaff_s7->iSize)[var_35] = var_36;
                  var_34 = var_38 << 1;
                  *puVar27 = var_37;
                  var_10 = unaff_s7->iSize;
                  var_35 = var_38;
                } while (var_34 <= var_10);
              }
              var_22 = (type_8 *)(var_31 >> 0x10);
              var_13 = (type_8 *)(var_25 & 0xffff);
              if (var_22 <= var_13) {
                var_5(pCheck_00,(char *)(*(int *)(var_14 + 0xe8730) + -0x4fe0),var_22,
                               var_19);
                if (unaff_s7->iSize != 0) goto LAB_000a86bc;
                var_22 = (type_8 *)(var_39 + (int)(var_40 + (-1 - (int)var_13)));
                goto LAB_000a898c;
              }
              var_40 = (type_7 *)
                        ((int)&var_22->pPager + (int)(var_40 + (-1 - (int)var_13)));
              var_25 = var_31;
            } while (var_10 != 0);
            var_25 = var_31 & 0xffff;
          }
          unaff_s7 = (type_19 *)(var_39 + -1);
          var_22 = (type_8 *)(var_40 + ((int)unaff_s7 - var_25));
LAB_000a898c:
          if ((type_8 *)(type_10)*(type_20 *)(var_3 + var_24 + 7) != var_22) {
            var_5(pCheck_00,(char *)(*(int *)(var_14 + 0xe8730) + -0x4fb8));
          }
        }
      }
      else {
        var_40 = var_39 + -4;
        bVar3 = true;
        var_21 = *(int *)(var_14 + 0xe8730);
        var_50 = (type_6 *)(*(int *)(var_14 + 0xe8998) + 0x7bb8);
        var_47 = *(int *)(var_14 + 0xe8730);
        var_48 = *(int *)(var_14 + 0xe8914);
        var_46 = *(int *)(var_14 + 0xe8a00);
        var_30 = (type_15 *)(var_3 + (int)var_28 * 2 + var_20);
        pBStack_64 = var_19;
        do {
          pCheck_00->v2 = (int)var_13;
          var_19 = (type_8 *)(type_10)*var_30;
          if ((var_19 < var_41) || (var_40 < var_19)) {
            (*var_50)(pCheck_00,var_21 + -0x504c,var_19,var_41);
            bVar3 = false;
            var_22 = var_19;
          }
          else {
            pPVar36 = (type_16 *)(var_3 + (int)var_19);
            var_22 = (type_8 *)auStack_b0;
            (*var_49->xParseCell)(var_49,(type_3 *)pPVar36,(type_26 *)var_22);
            if (var_39 < (type_7 *)((int)&var_19->pPager + (type_10)(type_15)auStack_b0._18_2_)) {
              (*var_50)(pCheck_00,*(int *)(var_14 + 0xe8730) + -0x502c);
              bVar3 = false;
            }
            else {
              if (var_49->intKey != '\0') {
                if (bVar2) {
                  bVar2 = true;
                  if ((int)auStack_b0._0_4_ <= (int)var_42) {
                    if ((type_23 *)auStack_b0._0_4_ != var_42) goto LAB_000a89e0;
                    if ((type_10)auStack_b0._4_4_ <= var_43) {
                      bVar2 = false;
                    }
                  }
                }
                else {
                  bVar2 = true;
                  if (((int)auStack_b0._0_4_ < (int)var_42) ||
                     ((var_42 == (type_23 *)auStack_b0._0_4_ &&
                      ((type_10)auStack_b0._4_4_ < var_43)))) {
LAB_000a89e0:
                    bVar2 = false;
                  }
                }
                if (bVar2) {
                  (*var_50)(pCheck_00,*(int *)(var_14 + 0xe8730) + -0x5014);
                }
                bVar2 = false;
                var_42 = (type_23 *)auStack_b0._0_4_;
                var_43 = (type_12 *)auStack_b0._4_4_;
              }
              if ((type_21 *)(type_10)(type_15)auStack_b0._16_2_ < (type_10)auStack_b0._12_4_) {
                var_45 = auStack_b0._12_4_ + (-5 - (int)(type_10)(type_15)auStack_b0._16_2_);
                PVar39 = *(type_16 *)((int)pPVar36 + ((type_15)auStack_b0._18_2_ - 4));
                if (var_40 == (type_7 *)0x0) {
                  var_44(7);
                }
                if (pBVar44->autoVacuum != '\0') {
                  var_12(pCheck_00,PVar39,'\x03',(type_16)pBStack_64);
                }
                function_1(pCheck_00,0,PVar39,(type_10)(var_39 + var_45) / (type_10)var_40);
              }
              if (var_49->leaf == '\0') {
                PVar39 = *pPVar36;
                if (pBVar44->autoVacuum != '\0') {
                  var_12(pCheck_00,PVar39,'\x05',(type_16)pBStack_64);
                }
                var_22 = (type_8 *)&var_42;
                var_45 = (*(type_6 *)(var_46 + -0x7dd4))(pCheck_00,PVar39);
                if (var_45 == var_29) {
                  bVar2 = false;
                  var_29 = var_45;
                }
                else {
                  (*var_50)(pCheck_00,var_47 + -0x4ffc);
                  bVar2 = false;
                  var_29 = var_45;
                }
              }
              else {
                var_22 = (type_8 *)((type_15)auStack_b0._18_2_ - 1);
                (*(type_6 *)(var_48 + 0x1738))
                          (unaff_s7,(type_10)((int)&var_22->pPager + (int)var_19) |
                                    (int)var_19 << 0x10);
              }
            }
          }
          var_13 = (type_8 *)((int)&var_13[-1].pTmpSpace + 3);
        } while ((var_13 != (type_8 *)0xffffffff) &&
                (var_30 = var_30 + -1, pCheck_00->mxErr != 0));
        var_29 = var_29 + 1;
        ((type_8 *)var_1)->db = var_43;
        ((type_8 *)var_1)->pPager = var_42;
        pCheck_00->zPfx = (char *)0x0;
        var_19 = pBStack_64;
        pBVar44 = var_41;
        if (bVar3) goto LAB_000a878c;
        var_49->isInit = uVar1;
      }
    }
    else {
      zFormat = (char *)(*(int *)(var_14 + 0xe8730) + -0x50d4);
LAB_000a86a4:
      var_5(pCheck_00,zFormat);
      var_29 = 0;
    }
LAB_000a86bc:
    if (var_49 != (type_21 *)0x0) {
      (*(type_6 *)(*(int *)(var_14 + 0xe8914) + 0xee8))(var_49->pDbPage);
    }
    pCheck_00->zPfx = pcVar9;
    pCheck_00->v1 = var_17;
    pCheck_00->v2 = var_9;
  }
  if ((type_12 *)auStack_b0._28_4_ == (type_12 *)*piVar35) {
    return;
  }
  var_50 = *(type_6 **)(var_14 + 0xe8bcc);
  pcVar7 = rtreenode;
  psVar21 = (type_12 *)auStack_b0._28_4_;
  (*var_50)();
  var_25 = 0;
  piVar29 = (int *)&DAT_000001f8;
  piVar47 = *(int **)(var_50 + 0xe82ec);
  uStack_3b0 = 0;
  uStack_3ac = 0;
  uStack_3a8 = 0;
  uStack_3a4 = 0;
  uStack_3a0 = 0;
  uStack_39c = 0;
  var_52 = 0;
  uStack_394 = 0;
  var_58 = *piVar47;
  piStack_160 = piVar35;
  pBStack_15c = var_19;
  pBStack_158 = var_13;
  iStack_154 = var_29;
  pBStack_150 = pBVar44;
  pBStack_14c = (type_8 *)var_1;
  puStack_148 = (type_3 *)var_3;
  pBStack_144 = unaff_s7;
  pIStack_140 = pCheck_00;
  pcStack_13c = pcVar7;
  (**(type_6 **)(var_50 + 0xe8220))(auStack_360);
  psVar22 = (type_12 *)var_22->pPager;
  (*(type_6 *)(*(int *)(var_50 + 0xe8070) + 0x7f68))();
  cStack_34c = (char)var_51;
  if ((var_51 & 0xff) - 1 < 5) {
    bStack_349 = ((char)var_51 + '\x01') * '\b';
    var_54 = (type_20)((var_51 & 0xff) << 1);
    var_52 = (**(type_6 **)(var_50 + 0xe7e84))(var_22->db);
    var_25 = 1;
    psVar22 = var_22->db;
    var_17 = (*(type_6 *)(*(int *)(var_50 + 0xe8088) + 0x6c88))();
    if (3 < var_17) {
      var_25 = (type_10)bStack_349;
      psVar22 = (type_12 *)(type_10)*(type_20 *)(var_52 + 3);
      if ((int)((int)(((type_12 *)(type_10)*(type_20 *)(var_52 + 3))->aLimit +
                     (type_10)*(type_20 *)(var_52 + 2) * 0x40 + -0x1b) * var_25) <= var_17) {
        var_57 = (type_11 *)(**(type_6 **)(var_50 + 0xe80f8))(0);
        if ((type_10)*(type_20 *)(var_52 + 2) * 0x100 + (type_10)*(type_20 *)(var_52 + 3) != 0) {
          var_17 = *(int *)(var_50 + 0xe7e20);
          var_48 = 0;
          var_9 = *(int *)(var_50 + 0xe806c);
          pcVar7 = *(type_6 **)(var_50 + 0xe80c0);
          (*(type_6 *)(var_9 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);
          var_20 = *(int *)(var_50 + 0xe7e24);
          var_47 = *(int *)(var_50 + 0xe7e24);
          var_21 = *(int *)(var_50 + 0xe7e24);
          while( true ) {
            var_53(var_57,(char *)(var_20 + -0x4f84),uStack_390,uStack_38c);
            if (var_54 != 0) {
              var_55 = afStack_388;
              var_46 = 0;
              do {
                fVar52 = *var_55;
                var_46 = var_46 + 1;
                var_55 = var_55 + 1;
                var_53(var_57,(char *)(var_47 + -0x4f7c),
                                    (int)((type_27)(double)fVar52 >> 0x20),var_56((double)fVar52,0)
                                   );
              } while (var_46 < (int)(type_10)var_54);
            }
            var_48 = var_48 + 1;
            (*pcVar7)(var_57,var_17 + 0x1300,1);
            if ((int)((type_10)*(type_20 *)(var_52 + 2) * 0x100 + (type_10)*(type_20 *)(var_52 + 3)) <=
                var_48) break;
            (*(type_6 *)(var_9 + 0x17dc))(auStack_360,&uStack_3b0,var_48,&uStack_390);
            (*pcVar7)(var_57,var_21 + -0x4854,1);
          }
        }
        if (var_57 == (type_11 *)0x0) {
          var_25 = 7;
          piVar29 = (int *)0x0;
        }
        else {
          var_25 = (type_10)var_57->accError;
          if (var_57 == (type_11 *)(*(int *)(var_50 + 0xe7e10) + -0xb98)) {
            piVar29 = (int *)0x0;
          }
          else {
            piVar29 = (int *)(*(type_6 *)(*(int *)(var_50 + 0xe8070) + 0x1f48))(var_57);
          }
        }
        (*(type_6 *)(*(int *)(var_50 + 0xe8088) + -0x13c0))
                  (psVar21,&psVar21->nDb,piVar29,0xffffffff,1,*(type_14 *)(var_50 + 0xe7e34));
        (**(type_6 **)(var_50 + 0xe7e9c))();
        psVar22 = psVar21;
      }
    }
  }
  if (var_58 == *piVar47) {
    return;
  }
  var_50 = *(type_6 **)(var_50 + 0xe82c0);
  (*var_50)();
  if (*(char *)((*(type_15 *)(*piVar29 + 8) & 0x1f) + *(int *)(var_50 + 0xe7acc) + 0x6a8c) == '\x05')
  {
    return;
  }
  pCVar26 = psVar22->pDfltColl;
  if (((type_10)pCVar26->pUser & 0x20000000) == 0) {
    var_59 = (type_17 *)
              (*(type_6 *)(*(int *)(var_50 + 0xe7d30) + -0x4168))(&psVar22->pVdbe,pCVar26,0x18);
  }
  else {
    var_59 = pCVar26->xDel;
  }
  if (var_59 == (type_17 *)0x0) {
    return;
  }
  var_17 = *(int *)(var_59 + 0xc);
  *(type_14 *)(var_59 + 0xc) = *(type_14 *)(psVar22->pVfs->xAccess + 0x6c);
  if (var_17 == 0) {
    pcVar41 = (type_6 *)(*(int *)(var_50 + 0xe7d30) + 0x6f60);
    pcVar7 = (type_6 *)(*(int *)(var_50 + 0xe7d30) + 0x6c88);
LAB_000a8f8c:
    var_17 = *piVar29;
  }
  else {
    if (var_25 == 2) {
      pcVar41 = (type_6 *)(*(int *)(var_50 + 0xe7d30) + 0x6f60);
      var_17 = (*pcVar41)(piVar29[1],1);
      pcVar7 = (type_6 *)(*(int *)(var_50 + 0xe7d30) + 0x6c88);
      uVar30 = (*pcVar7)(piVar29[1],1);
      if (var_17 == 0) goto LAB_000a8f8c;
      pcVar50 = *(type_6 **)(var_50 + 0xe7d68);
    }
    else {
      uVar30 = 1;
      var_17 = *(int *)(var_50 + 0xe7ac8) + 0x138c;
      pcVar41 = (type_6 *)(*(int *)(var_50 + 0xe7d30) + 0x6f60);
      pcVar7 = (type_6 *)(*(int *)(var_50 + 0xe7d30) + 0x6c88);
      pcVar50 = *(type_6 **)(var_50 + 0xe7d68);
    }
    (*pcVar50)(var_59,var_17,uVar30);
    var_17 = *piVar29;
  }
  var_17 = (*pcVar41)(var_17,1);
  uVar30 = (*pcVar7)(*piVar29,1);
  if (var_17 == 0) {
    return;
  }
                    /* WARNING: Could not recover jumptable at 0x000a8fe0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (**(type_6 **)(var_50 + 0xe7d68))(var_59,var_17,uVar30);
  return;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator 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: (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: (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))))))))))))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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: (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: (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: (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: (pointer_declarator declarator: (identifier))))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (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: (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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (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: (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: (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: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (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: (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: (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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) 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: (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: (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: (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: (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: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (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: (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: (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: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) 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: (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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (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: (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: (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: (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: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) 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 (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (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: (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: (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: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) 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 declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))) 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: (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: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (pointer_expression argument: (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)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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: (cast_expression type: (type_descriptor type: (type_identifier) 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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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)))) 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))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (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))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (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: (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: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) 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: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))) right: (number_literal)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (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: (pointer_expression argument: (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 (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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 (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (break_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 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: (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: (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)))))))))) (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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (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: (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 (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (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)))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_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)))))) value: (identifier))))) consequence: (compound_statement (return_statement (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)))))) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (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: (cast_expression type: (type_descriptor type: (type_identifier) 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) 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 declarator: (abstract_pointer_declarator)))))))) value: (pointer_expression argument: (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: (call_expression function: (identifier) arguments: (argument_list)))) (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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: (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) (pointer_expression argument: (identifier)) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (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 (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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)) value: (parenthesized_expression (binary_expression left: (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: (identifier)) right: (number_literal))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (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: (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))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (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: (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (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)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) 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: (identifier) right: (number_literal)) right: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (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)))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) right: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (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: (identifier) right: (number_literal))))) right: (identifier))) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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))))) 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: (number_literal))))) alternative: (else_clause (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (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))))) 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: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) right: (identifier))) 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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) 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: (binary_expression left: (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: (primitive_type)) value: (identifier))) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (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: (binary_expression left: (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: (primitive_type)) value: (identifier))) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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)))))) 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: (parenthesized_expression (binary_expression left: (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))))) right: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))))))) 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: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (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)) 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: (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))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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 declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) 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 (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (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 (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)))) (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))) (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: (identifier)))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (false))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))) (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 (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: (false)))))))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (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: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))) right: (cast_expression type: (type_descriptor type: (type_identifier)) 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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) 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: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (primitive_type)) value: (identifier)) right: (number_literal))))))) 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 (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (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))))) value: (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)) 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: (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: (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: (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: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (pointer_expression argument: (identifier))))) consequence: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) right: (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) 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: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (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: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier)) (number_literal) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier)))) (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 (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)))) (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (number_literal))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) right: (identifier))) consequence: (break_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) (pointer_expression argument: (identifier)) (identifier) (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier)))))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (number_literal) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (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: (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: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (number_literal))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (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: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (number_literal)) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier)))) (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 (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_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))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier)))))) (return_statement (identifier)))))

/* WARNING: Type propagation algorithm not settling */

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

{
  byte bVar1;
  bool bVar2;
  undefined *puVar3;
  code *pcVar4;
  code *pcVar5;
  int iVar6;
  code *****pppppcVar7;
  code *******pppppppcVar8;
  code ****ppppcVar9;
  int iVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  code ***pppcVar14;
  code *****pppppcVar15;
  code *******pppppppcVar16;
  code ****ppppcVar17;
  uint extraout_v1;
  code ****ppppcVar18;
  code ******ppppppcVar19;
  code ******ppppppcVar20;
  code *******pppppppcVar21;
  code ****ppppcVar22;
  uint uVar23;
  code *******pppppppcVar24;
  int *piVar25;
  code ****ppppcVar26;
  code ****ppppcVar27;
  code ****ppppcVar28;
  code ****ppppcVar29;
  code *******unaff_s0;
  int *piVar30;
  undefined *unaff_s1;
  code *******unaff_s2;
  int iVar31;
  code *pcVar32;
  code *******unaff_s3;
  code *****pppppcVar33;
  code ****ppppcVar34;
  code *******unaff_s4;
  code *******pppppppcVar35;
  int iVar36;
  code *******unaff_s5;
  int *piVar37;
  code *****unaff_s7;
  float *pfVar38;
  undefined *puVar39;
  code *pcVar40;
  int iVar41;
  undefined4 uVar42;
  float fVar43;
  undefined4 uStack_3b0;
  undefined4 uStack_3ac;
  undefined4 uStack_3a8;
  undefined4 uStack_3a4;
  undefined4 uStack_3a0;
  undefined4 uStack_39c;
  int iStack_398;
  undefined4 uStack_394;
  undefined4 uStack_390;
  undefined4 uStack_38c;
  float afStack_388 [10];
  undefined1 auStack_360 [20];
  char cStack_34c;
  byte bStack_34b;
  byte bStack_349;
  code ****ppppcStack_164;
  int *piStack_160;
  code *******pppppppcStack_15c;
  code *******pppppppcStack_158;
  code ****ppppcStack_154;
  code *******pppppppcStack_150;
  code *******pppppppcStack_14c;
  code *******pppppppcStack_148;
  code *****pppppcStack_144;
  code ******ppppppcStack_140;
  undefined4 uStack_13c;
  code *******pppppppcStack_128;
  code ******ppppppcStack_124;
  undefined *puStack_120;
  code ******ppppppcStack_118;
  code *****pppppcStack_114;
  code *****pppppcStack_110;
  code *****pppppcStack_10c;
  int iStack_108;
  int iStack_104;
  code *pcStack_100;
  int iStack_fc;
  code *******pppppppcStack_f8;
  int iStack_f4;
  uint uStack_f0;
  code *******pppppppcStack_ec;
  code *****pppppcStack_e8;
  code *pcStack_e4;
  code *pcStack_e0;
  code *******pppppppcStack_dc;
  code *******pppppppcStack_d8;
  code *pcStack_d4;
  code *pcStack_d0;
  int iStack_cc;
  code ****ppppcStack_c8;
  int iStack_c4;
  undefined4 uStack_c0;
  uint uStack_bc;
  byte *pbStack_b4;
  code *******pppppppcStack_b0;
  code ******ppppppcStack_ac;
  uint uStack_a4;
  ushort uStack_a0;
  ushort uStack_9e;
  code ******ppppppcStack_94;
  code *******pppppppcStack_90;
  undefined *puStack_8c;
  code *******pppppppcStack_88;
  code *******pppppppcStack_84;
  code *******pppppppcStack_80;
  code *******pppppppcStack_7c;
  code *******pppppppcStack_78;
  code *****pppppcStack_74;
  code ******ppppppcStack_70;
  code *pcStack_6c;
  code *******pppppppcStack_64;
  code *******local_58;
  code ******ppppppcStack_54;
  code ******local_30;
  code ****local_2c;
  
  puVar3 = PTR___stack_chk_guard_00190e24;
  puVar39 = PTR_s_o_page_from_root____pageno_INTEG_0019095c;
  pppppcVar15 = param_1[5];
  local_2c = *(code *****)PTR___stack_chk_guard_00190e24;
  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {
    ppppppcVar20 = param_1;
    pppppppcVar21 = param_2;
    pppppppcStack_80 = unaff_s4;
    if (param_4 != (code *******)0x0) {
LAB_000a819c:
      if (param_2 == (code *******)0x0) {
        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5154);
      }
      else {
        param_3 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x5f18);
      }
      pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x50fc);
      ppppppcVar20 = param_1;
      local_58 = param_4;
      FUN_000a7bb8();
      pppppppcStack_80 = unaff_s4;
    }
  }
  else {
    unaff_s1 = PTR_LAB_00190bc4 + 0x7cd0;
    unaff_s5 = (code *******)(PTR_LAB_00190bc4 + 0x7d78);
    pcVar4 = (code *)(PTR_LAB_00190b40 + 0xee8);
    pcVar5 = (code *)(PTR_LAB_00190bc4 + 0x7bb8);
    unaff_s0 = param_3;
    pppppppcVar8 = param_4;
    unaff_s3 = unaff_s4;
    while (ppppppcVar20 = param_1, pppppppcVar21 = unaff_s0, iVar6 = FUN_000a7cd0(),
          pppppppcStack_80 = unaff_s3, iVar6 == 0) {
      param_3 = &local_30;
      unaff_s3 = (code *******)((int)pppppppcVar8 + -1);
      iVar6 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);
      pppppppcStack_80 = unaff_s3;
      if (iVar6 != 0) {
        pppppppcVar21 = (code *******)(PTR_s_o_page_from_root____pageno_INTEG_0019095c + -0x513c);
        ppppppcVar20 = param_1;
        param_3 = unaff_s0;
        FUN_000a7bb8();
        if (unaff_s3 == (code *******)0x0) goto LAB_000a8064;
        pppppcVar7 = param_1[5];
        unaff_s4 = unaff_s3;
        goto LAB_000a8188;
      }
      pppppppcVar21 = (code *******)*param_1;
      unaff_s7 = local_30[1];
      pcVar32 = (code *)((int)pppppppcVar21 + 0x11);
      if (param_2 == (code *******)0x0) {
        pppppppcVar21 = (code *******)*unaff_s7;
        pppppppcVar35 = pppppppcVar21;
        pppppppcVar8 = unaff_s3;
        if ((*pcVar32 != (code)0x0) &&
           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {
          FUN_000a7d78(param_1,pppppppcVar21,4,unaff_s0);
          pppppppcVar35 = (code *******)*unaff_s7;
          goto LAB_000a7fb8;
        }
LAB_000a8048:
        ppppppcVar20 = local_30;
        (*pcVar4)();
        unaff_s0 = pppppppcVar35;
      }
      else {
        unaff_s2 = (code *******)unaff_s7[1];
        if (*pcVar32 != (code)0x0) {
          param_3 = (code *******)0x2;
          FUN_000a7d78(param_1,unaff_s0,2,0);
          pppppppcVar21 = (code *******)*param_1;
        }
        if ((code *******)(((uint)pppppppcVar21[9] >> 2) - 2) < unaff_s2) {
          pppppppcVar8 = (code *******)((int)pppppppcVar8 + -2);
          pppppppcVar21 = (code *******)(puVar39 + -0x5124);
          (*pcVar5)(param_1);
          pppppppcVar35 = (code *******)*unaff_s7;
          param_3 = unaff_s0;
        }
        else {
          if (0 < (int)unaff_s2) {
            pppppcVar33 = unaff_s7 + 2;
            pppppcVar7 = pppppcVar33 + (int)unaff_s2;
            while( true ) {
              pppppppcVar8 = (code *******)*pppppcVar33;
              if (*(code *)((int)pppppppcVar21 + 0x11) == (code)0x0) {
                FUN_000a7cd0(param_1);
                pppppppcVar21 = pppppppcVar8;
              }
              else {
                param_3 = (code *******)0x2;
                FUN_000a7d78(param_1,pppppppcVar8,2,0);
                FUN_000a7cd0(param_1);
                pppppppcVar21 = pppppppcVar8;
              }
              if (pppppcVar33 + 1 == pppppcVar7) break;
              pppppcVar33 = pppppcVar33 + 1;
              pppppppcVar21 = (code *******)*param_1;
            }
          }
          pppppppcVar35 = (code *******)*unaff_s7;
          pppppppcVar8 = (code *******)((int)unaff_s3 - (int)unaff_s2);
        }
LAB_000a7fb8:
        unaff_s0 = pppppppcVar35;
        ppppppcVar20 = local_30;
        if (local_30 != (code ******)0x0) goto LAB_000a8048;
      }
      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;
    }
    unaff_s3 = pppppppcVar8;
    if (pppppppcVar8 != (code *******)0x0) {
      pppppcVar7 = param_1[5];
      unaff_s4 = pppppppcStack_80;
LAB_000a8188:
      pppppppcStack_80 = unaff_s4;
      if (pppppcVar7 == pppppcVar15) goto LAB_000a819c;
    }
  }
LAB_000a8064:
  if (local_2c == *(code *****)puVar3) {
    return *(code *****)puVar3;
  }
  pcVar4 = FUN_000a822c;
  puVar39 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  puStack_120 = puVar39 + 0xf06f4;
  piVar30 = *(int **)(puVar39 + 0xe8bf8);
  pbStack_b4 = (byte *)0x0;
  ppppppcStack_94 = (code ******)*piVar30;
  pppppppcVar8 = param_3;
  pppppppcVar35 = pppppppcStack_80;
  pppppppcStack_90 = unaff_s0;
  puStack_8c = unaff_s1;
  pppppppcStack_88 = unaff_s2;
  pppppppcStack_84 = unaff_s3;
  pppppppcStack_7c = unaff_s5;
  pppppppcStack_78 = param_2;
  pppppcStack_74 = unaff_s7;
  ppppppcStack_70 = param_1;
  pcStack_6c = pcVar4;
  if (pppppppcVar21 == (code *******)0x0) {
LAB_000a8280:
    ppppcVar34 = (code ****)0x0;
    ppppppcVar20 = param_1;
  }
  else {
    pppppcStack_114 = ppppppcVar20[7];
    pppppppcVar35 = (code *******)*ppppppcVar20;
    pppppcStack_110 = ppppppcVar20[8];
    pppppcStack_10c = ppppppcVar20[9];
    ppppppcStack_118 = pppppppcVar35[9];
    iVar6 = FUN_000a7cd0();
    unaff_s5 = param_3;
    param_1 = ppppppcVar20;
    if (iVar6 != 0) goto LAB_000a8280;
    iVar6 = *(int *)(puStack_120 + -0x7fc4);
    iVar10 = *(int *)(puStack_120 + -0x7de0);
    ppppppcVar20[8] = (code *****)pppppppcVar21;
    ppppppcVar20[7] = (code *****)(iVar6 + -0x50e0);
    pppppppcVar8 = (code *******)
                   (*(code *)(iVar10 + 0x1420))(pppppppcVar35,pppppppcVar21,&pbStack_b4,0);
    if (pppppppcVar8 == (code *******)0x0) {
      uStack_f0 = (uint)*pbStack_b4;
      *pbStack_b4 = 0;
      pppppppcStack_dc = (code *******)FUN_0008d10c(pbStack_b4);
      if (pppppppcStack_dc != (code *******)0x0) {
        iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50ac;
        pppppppcVar8 = pppppppcStack_dc;
        goto LAB_000a86a4;
      }
      param_2 = *(code ********)(pbStack_b4 + 0x38);
      bVar1 = pbStack_b4[9];
      ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5084);
      pcStack_d4 = (code *)((int)param_2 + (uint)bVar1);
      iStack_c4 = bVar1 + 0xc + (uint)pbStack_b4[8] * -4;
      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);
      pppppppcVar8 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);
      ppppcStack_c8 = (code ****)((uint)pppppppcVar8 & 0xffff);
      pcStack_e4 = (code *)((int)param_2 + (int)pppppppcStack_ec * 2 + iStack_c4);
      pppppppcStack_d8 = (code *******)((int)ppppcStack_c8 + 1);
      if (pbStack_b4[8] == 0) {
        uVar42 = *(undefined4 *)(pcStack_d4 + 8);
        if (*(code *)((int)pppppppcVar35 + 0x11) != (code)0x0) {
          ppppppcVar20[7] = (code *****)(*(int *)(puStack_120 + -0x7fc4) + -0x5068);
          FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcVar21);
        }
        pppppppcVar8 = (code *******)&local_58;
        ppppppcStack_124 = ppppppcStack_54;
        unaff_s7 = (code *****)0x0;
        pppppppcStack_128 = local_58;
        iStack_108 = FUN_000a822c(ppppppcVar20,uVar42);
        iStack_104 = 0;
      }
      else {
        unaff_s7 = ppppppcVar20[0x10];
        iStack_104 = 1;
        *unaff_s7 = (code ****)0x0;
        iStack_108 = -1;
      }
      pppppppcVar24 = pppppppcStack_d8;
      unaff_s2 = pppppppcStack_ec;
      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar20[4] == (code *****)0x0)) {
        ppppcVar34 = (code ****)(iStack_108 + 1);
        param_3[1] = ppppppcStack_54;
        *param_3 = (code ******)local_58;
        ppppppcVar20[7] = (code *****)0x0;
LAB_000a878c:
        if (0 < (int)ppppppcVar20[4]) {
          if (pbStack_b4[8] == 0) {
            unaff_s7 = ppppppcVar20[0x10];
            *unaff_s7 = (code ****)0x0;
            if (pppppppcStack_ec != (code *******)0xffffffff) {
              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7de0) + 0x1738);
              iVar6 = iStack_c4 + -2;
              pcVar4 = pcStack_e4;
              pppppppcStack_64 = pppppppcVar21;
              do {
                pcVar5 = pcVar4 + -2;
                uVar23 = (uint)*(ushort *)pcVar4;
                iVar10 = (**(code **)(pbStack_b4 + 0x4c))
                                   (pbStack_b4,(code *)((int)param_2 + uVar23));
                pppppppcVar35 = (code *******)(iVar10 + -1 + uVar23);
                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar35 | uVar23 << 0x10);
                pcVar4 = pcVar5;
                pppppppcVar21 = pppppppcStack_64;
              } while ((code *)((int)param_2 + iVar6) != pcVar5);
            }
          }
          uVar23 = (uint)*(ushort *)(pcStack_d4 + 1);
          unaff_s2 = *(code ********)(puStack_120 + -0x7de0);
          if (uVar23 != 0) {
            unaff_s2 = unaff_s2 + 0x5ce;
            pppppppcVar8 = unaff_s2;
            do {
              pcVar4 = (code *)((int)param_2 + uVar23);
              (*(code *)pppppppcVar8)
                        (unaff_s7,(*(ushort *)(pcVar4 + 2) + uVar23) - 1 | uVar23 << 0x10);
              uVar23 = (uint)*(ushort *)pcVar4;
            } while (uVar23 != 0);
          }
          ppppcVar22 = *unaff_s7;
          pppppppcVar24 = pppppppcStack_dc;
          ppppcVar28 = ppppcStack_c8;
          if (ppppcVar22 == (code ****)0x0) {
            pppppppcVar24 = (code *******)0x0;
          }
          else {
            do {
              ppppcVar27 = unaff_s7[1];
              unaff_s7[1] = unaff_s7[(int)ppppcVar22];
              unaff_s7[(int)ppppcVar22] = (code ****)0xffffffff;
              ppppcVar22 = (code ****)((int)*unaff_s7 - 1);
              *unaff_s7 = ppppcVar22;
              if ((code ****)0x1 < ppppcVar22) {
                ppppcVar29 = unaff_s7[1];
                ppppcVar26 = (code ****)0x2;
                ppppcVar9 = (code ****)0x1;
                do {
                  pppppcVar15 = unaff_s7 + (int)((int)ppppcVar26 + 1U);
                  ppppcVar17 = *pppppcVar15;
                  ppppcVar18 = (code ****)((int)ppppcVar26 + 1U);
                  if (unaff_s7[(int)ppppcVar9 * 2] <= ppppcVar17) {
                    pppppcVar15 = unaff_s7 + (int)ppppcVar26;
                    ppppcVar17 = *pppppcVar15;
                    ppppcVar18 = ppppcVar26;
                  }
                  if (ppppcVar29 < ppppcVar17) break;
                  unaff_s7[(int)ppppcVar9] = ppppcVar17;
                  ppppcVar26 = (code ****)((int)ppppcVar18 << 1);
                  *pppppcVar15 = ppppcVar29;
                  ppppcVar22 = *unaff_s7;
                  ppppcVar9 = ppppcVar18;
                } while (ppppcVar26 <= ppppcVar22);
              }
              pppppppcVar8 = (code *******)((uint)ppppcVar27 >> 0x10);
              unaff_s2 = (code *******)((uint)ppppcVar28 & 0xffff);
              if (pppppppcVar8 <= unaff_s2) {
                pppppppcStack_dc = pppppppcVar24;
                FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fe0,pppppppcVar8,
                             pppppppcVar21);
                if (*unaff_s7 != (code ****)0x0) goto LAB_000a86bc;
                pppppppcVar8 = (code *******)
                               ((code *)((int)ppppppcStack_118 + -1) + (int)pppppppcStack_dc +
                               -(int)unaff_s2);
                goto LAB_000a898c;
              }
              pppppppcVar24 =
                   (code *******)
                   ((code *)((int)pppppppcVar8 + -1) + (int)pppppppcVar24 + -(int)unaff_s2);
              ppppcVar28 = ppppcVar27;
            } while (ppppcVar22 != (code ****)0x0);
            ppppcVar28 = (code ****)((uint)ppppcVar27 & 0xffff);
          }
          unaff_s7 = (code *****)((int)ppppppcStack_118 + -1);
          pppppppcVar8 = (code *******)
                         ((code *)((int)unaff_s7 + (int)pppppppcVar24) + -(int)ppppcVar28);
LAB_000a898c:
          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar8) {
            pppppppcStack_128 = pppppppcVar21;
            FUN_000a7bb8(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x4fb8);
          }
        }
      }
      else {
        pppppppcVar16 = (code *******)(ppppppcStack_118 + -1);
        iStack_fc = 1;
        iStack_f4 = *(int *)(puStack_120 + -0x7fc4);
        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7d5c) + 0x7bb8);
        iStack_cc = *(int *)(puStack_120 + -0x7fc4);
        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7de0) + 0x1738);
        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7cf4) + -0x7dd4);
        pcVar4 = pcStack_e4;
        pppppppcStack_f8 = pppppppcVar35;
        pppppcStack_e8 = unaff_s7;
        pppppppcStack_d8 = param_3;
        pppppppcStack_64 = pppppppcVar21;
        do {
          ppppppcVar20[9] = (code *****)unaff_s2;
          pppppppcVar21 = (code *******)(uint)*(ushort *)pcVar4;
          if ((pppppppcVar21 < pppppppcVar24) || (pppppppcVar16 < pppppppcVar21)) {
            pppppppcStack_128 = pppppppcVar16;
            (*pcStack_100)(ppppppcVar20,iStack_f4 + -0x504c,pppppppcVar21,pppppppcVar24);
            iStack_fc = 0;
            pppppppcVar8 = pppppppcVar21;
          }
          else {
            pcVar5 = (code *)((int)param_2 + (int)pppppppcVar21);
            pppppppcVar8 = (code *******)&pppppppcStack_b0;
            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar5);
            if (ppppppcStack_118 < (code ******)((int)pppppppcVar21 + (uint)uStack_9e)) {
              (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x502c);
              iStack_fc = 0;
            }
            else {
              if (pbStack_b4[2] != 0) {
                if (iStack_104 == 0) {
                  bVar2 = true;
                  if (((int)pppppppcStack_b0 < (int)local_58) ||
                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {
LAB_000a89e0:
                    bVar2 = false;
                  }
                }
                else {
                  bVar2 = true;
                  if ((int)pppppppcStack_b0 <= (int)local_58) {
                    if (pppppppcStack_b0 != local_58) goto LAB_000a89e0;
                    if (ppppppcStack_ac <= ppppppcStack_54) {
                      bVar2 = false;
                    }
                  }
                }
                if (bVar2) {
                  (*pcStack_100)(ppppppcVar20,*(int *)(puStack_120 + -0x7fc4) + -0x5014);
                }
                iStack_104 = 0;
                local_58 = pppppppcStack_b0;
                ppppppcStack_54 = ppppppcStack_ac;
              }
              if (uStack_a0 < uStack_a4) {
                uVar42 = *(undefined4 *)(pcVar5 + (uStack_9e - 4));
                if (pppppppcVar16 == (code *******)0x0) {
                  trap(7);
                }
                uVar23 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /
                         (uint)pppppppcVar16;
                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {
                  uStack_c0 = uVar42;
                  uStack_bc = uVar23;
                  FUN_000a7d78(ppppppcVar20,uVar42,3,pppppppcStack_64);
                  uVar23 = uStack_bc;
                  uVar42 = uStack_c0;
                }
                MASKED(ppppppcVar20,0,uVar42,uVar23);
              }
              if (pbStack_b4[8] == 0) {
                uVar42 = *(undefined4 *)pcVar5;
                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {
                  FUN_000a7d78(ppppppcVar20,uVar42,5,pppppppcStack_64);
                }
                pppppppcVar8 = (code *******)&local_58;
                ppppppcStack_124 = ppppppcStack_54;
                pppppppcStack_128 = local_58;
                iVar6 = (*pcStack_e0)(ppppppcVar20,uVar42);
                if (iVar6 == iStack_108) {
                  iStack_104 = 0;
                  iStack_108 = iVar6;
                }
                else {
                  iStack_108 = iVar6;
                  (*pcStack_100)(ppppppcVar20,iStack_cc + -0x4ffc);
                  iStack_104 = 0;
                }
              }
              else {
                pppppppcVar8 = (code *******)(uStack_9e - 1);
                (*pcStack_d0)(pppppcStack_e8,
                              (uint)((int)pppppppcVar8 + (int)pppppppcVar21) |
                              (int)pppppppcVar21 << 0x10);
              }
            }
          }
          unaff_s2 = (code *******)((int)unaff_s2 + -1);
        } while ((unaff_s2 != (code *******)0xffffffff) &&
                (pcVar4 = pcVar4 + -2, ppppppcVar20[4] != (code *****)0x0));
        ppppcVar34 = (code ****)(iStack_108 + 1);
        pppppppcStack_d8[1] = ppppppcStack_54;
        *pppppppcStack_d8 = (code ******)local_58;
        ppppppcVar20[7] = (code *****)0x0;
        pppppppcVar21 = pppppppcStack_64;
        pppppppcVar35 = pppppppcVar24;
        unaff_s5 = pppppppcStack_d8;
        unaff_s7 = pppppcStack_e8;
        if (iStack_fc != 0) goto LAB_000a878c;
        *pbStack_b4 = (byte)uStack_f0;
      }
    }
    else {
      iVar6 = *(int *)(puStack_120 + -0x7fc4) + -0x50d4;
LAB_000a86a4:
      FUN_000a7bb8(ppppppcVar20,iVar6);
      ppppcVar34 = (code ****)0x0;
    }
LAB_000a86bc:
    if (pbStack_b4 != (byte *)0x0) {
      (*(code *)(*(int *)(puStack_120 + -0x7de0) + 0xee8))(*(undefined4 *)(pbStack_b4 + 0x48));
    }
    ppppppcVar20[7] = pppppcStack_114;
    ppppppcVar20[8] = pppppcStack_110;
    ppppppcVar20[9] = pppppcStack_10c;
  }
  if (ppppppcStack_94 == (code ******)*piVar30) {
    return ppppcVar34;
  }
  pcVar4 = *(code **)(puStack_120 + -0x7b28);
  uVar42 = 0xa8b38;
  ppppppcVar19 = ppppppcStack_94;
  (*pcVar4)();
  uVar23 = 0;
  piVar25 = (int *)&DAT_000001f8;
  piVar37 = *(int **)(pcVar4 + 0xe82ec);
  uStack_3b0 = 0;
  uStack_3ac = 0;
  uStack_3a8 = 0;
  uStack_3a4 = 0;
  uStack_3a0 = 0;
  uStack_39c = 0;
  iStack_398 = 0;
  uStack_394 = 0;
  ppppcStack_164 = (code ****)*piVar37;
  piStack_160 = piVar30;
  pppppppcStack_15c = pppppppcVar21;
  pppppppcStack_158 = unaff_s2;
  ppppcStack_154 = ppppcVar34;
  pppppppcStack_150 = pppppppcVar35;
  pppppppcStack_14c = unaff_s5;
  pppppppcStack_148 = param_2;
  pppppcStack_144 = unaff_s7;
  ppppppcStack_140 = ppppppcVar20;
  uStack_13c = uVar42;
  (**(code **)(pcVar4 + 0xe8220))(auStack_360);
  ppppppcVar20 = *pppppppcVar8;
  (*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x7f68))();
  cStack_34c = (char)extraout_v1;
  if ((extraout_v1 & 0xff) - 1 < 5) {
    bStack_349 = ((char)extraout_v1 + '\x01') * '\b';
    bStack_34b = (byte)((extraout_v1 & 0xff) << 1);
    iStack_398 = (**(code **)(pcVar4 + 0xe7e84))(pppppppcVar8[1]);
    uVar23 = 1;
    ppppppcVar20 = pppppppcVar8[1];
    iVar6 = (*(code *)(*(int *)(pcVar4 + 0xe8088) + 0x6c88))();
    if (3 < iVar6) {
      uVar23 = (uint)bStack_349;
      ppppppcVar20 = (code ******)(uint)*(byte *)(iStack_398 + 3);
      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +
                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar23) <= iVar6) {
        iVar6 = (**(code **)(pcVar4 + 0xe80f8))(0);
        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {
          iVar10 = *(int *)(pcVar4 + 0xe7e20);
          iVar36 = 0;
          iVar11 = *(int *)(pcVar4 + 0xe806c);
          pcVar5 = *(code **)(pcVar4 + 0xe80c0);
          (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,0,&uStack_390);
          iVar12 = *(int *)(pcVar4 + 0xe7e24);
          iVar31 = *(int *)(pcVar4 + 0xe7e24);
          iVar13 = *(int *)(pcVar4 + 0xe7e24);
          while( true ) {
            sqlite3_str_appendf(iVar6,iVar12 + -0x4f84,uStack_390,uStack_38c);
            if (bStack_34b != 0) {
              pfVar38 = afStack_388;
              iVar41 = 0;
              do {
                fVar43 = *pfVar38;
                iVar41 = iVar41 + 1;
                pfVar38 = pfVar38 + 1;
                sqlite3_str_appendf(iVar6,iVar31 + -0x4f7c,(int)((ulonglong)(double)fVar43 >> 0x20),
                                    SUB84((double)fVar43,0));
              } while (iVar41 < (int)(uint)bStack_34b);
            }
            iVar36 = iVar36 + 1;
            (*pcVar5)(iVar6,iVar10 + 0x1300,1);
            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=
                iVar36) break;
            (*(code *)(iVar11 + 0x17dc))(auStack_360,&uStack_3b0,iVar36,&uStack_390);
            (*pcVar5)(iVar6,iVar13 + -0x4854,1);
          }
        }
        if (iVar6 == 0) {
          uVar23 = 7;
          piVar25 = (int *)0x0;
        }
        else {
          uVar23 = (uint)*(byte *)(iVar6 + 0x14);
          if (iVar6 == *(int *)(pcVar4 + 0xe7e10) + -0xb98) {
            piVar25 = (int *)0x0;
          }
          else {
            piVar25 = (int *)(*(code *)(*(int *)(pcVar4 + 0xe8070) + 0x1f48))(iVar6);
          }
        }
        (*(code *)(*(int *)(pcVar4 + 0xe8088) + -0x13c0))
                  (ppppppcVar19,ppppppcVar19 + 5,piVar25,0xffffffff,1,
                   *(undefined4 *)(pcVar4 + 0xe7e34));
        (**(code **)(pcVar4 + 0xe7e9c))();
        ppppppcVar20 = ppppppcVar19;
      }
    }
  }
  ppppcVar34 = (code ****)*piVar37;
  if (ppppcStack_164 == ppppcVar34) {
    return ppppcVar34;
  }
  pcVar4 = *(code **)(pcVar4 + 0xe82c0);
  (*pcVar4)();
  if (*(byte *)((*(ushort *)(*piVar25 + 8) & 0x1f) + *(int *)(pcVar4 + 0xe7acc) + 0x6a8c) == 5) {
    return (code ****)0x5;
  }
  pppppcVar15 = ppppppcVar20[2];
  ppppcVar34 = (code ****)(*(ushort *)(pppppcVar15 + 2) & 0x2000);
  if ((*(ushort *)(pppppcVar15 + 2) & 0x2000) == 0) {
    ppppcVar34 = (code ****)
                 (*(code *)(*(int *)(pcVar4 + 0xe7d30) + -0x4168))
                           (ppppppcVar20 + 1,pppppcVar15,0x18);
    ppppcVar28 = ppppcVar34;
  }
  else {
    ppppcVar28 = pppppcVar15[4];
  }
  if (ppppcVar28 == (code ****)0x0) {
    return ppppcVar34;
  }
  pppcVar14 = ppppcVar28[3];
  ppppcVar28[3] = (*ppppppcVar20)[8][0x1b];
  if (pppcVar14 == (code ***)0x0) {
    pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);
    pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);
LAB_000a8f8c:
    iVar6 = *piVar25;
  }
  else {
    if (uVar23 == 2) {
      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);
      iVar6 = (*pcVar32)(piVar25[1],1);
      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);
      uVar42 = (*pcVar5)(piVar25[1],1);
      if (iVar6 == 0) goto LAB_000a8f8c;
      pcVar40 = *(code **)(pcVar4 + 0xe7d68);
    }
    else {
      uVar42 = 1;
      iVar6 = *(int *)(pcVar4 + 0xe7ac8) + 0x138c;
      pcVar32 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6f60);
      pcVar5 = (code *)(*(int *)(pcVar4 + 0xe7d30) + 0x6c88);
      pcVar40 = *(code **)(pcVar4 + 0xe7d68);
    }
    (*pcVar40)(ppppcVar28,iVar6,uVar42);
    iVar6 = *piVar25;
  }
  iVar6 = (*pcVar32)(iVar6,1);
  ppppcVar34 = (code ****)(*pcVar5)(*piVar25,1);
  if (iVar6 == 0) {
    return ppppcVar34;
  }
                    /* WARNING: Could not recover jumptable at 0x000a8fe0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  ppppcVar34 = (code ****)(**(code **)(pcVar4 + 0xe7d68))(ppppcVar28,iVar6,ppppcVar34);
  return ppppcVar34;
}

