
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 uVar14;
  uint uVar13;
  StrAccum *p;
  int iVar15;
  uint uVar16;
  int iVar17;
  IntegrityCk *pCheck_00;
  BtShared *pBVar18;
  uint uVar19;
  sqlite3 *psVar20;
  sqlite3 *psVar21;
  BtShared *pBVar22;
  u32 uVar23;
  char *zFormat;
  uint uVar24;
  u32 *puVar25;
  undefined1 *puVar26;
  undefined4 *puVar27;
  undefined4 uVar28;
  int iVar29;
  uint uVar30;
  ushort *puVar31;
  uint uVar32;
  BtShared *unaff_s0;
  int *piVar33;
  undefined *unaff_s1;
  Pgno *pPVar34;
  ushort *puVar35;
  int iVar36;
  BtShared *unaff_s2;
  Pgno PVar37;
  BtShared *unaff_s3;
  anon_union_500_3_7c964c52_for_u *paVar38;
  uint uVar39;
  int iVar40;
  BtShared *unaff_s4;
  BtShared *pBVar41;
  uint uVar42;
  BtShared *unaff_s5;
  int *piVar43;
  int iVar44;
  Bitvec *unaff_s7;
  float *pfVar45;
  undefined *puVar46;
  int iVar47;
  float fVar48;
  undefined4 uStackY_3b0;
  undefined4 uStackY_3ac;
  undefined4 uStackY_3a8;
  undefined4 uStackY_3a4;
  undefined4 uStackY_3a0;
  undefined4 uStackY_39c;
  int iStackY_398;
  undefined4 uStackY_394;
  undefined4 uStackY_390;
  undefined4 uStackY_38c;
  float afStackY_388 [10];
  undefined1 auStackY_360 [20];
  byte bStackY_34c;
  byte bStackY_34b;
  byte bStackY_349;
  int iStackY_164;
  int *piStackY_160;
  BtShared *pBStackY_15c;
  BtShared *pBStackY_158;
  int iStackY_154;
  BtShared *pBStackY_150;
  BtShared *pBStackY_14c;
  u8 *puStackY_148;
  Bitvec *pBStackY_144;
  IntegrityCk *pIStackY_140;
  code *pcStackY_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 *local_58;
  sqlite3 *psStack_54;
  DbPage *pOvflPage;
  sqlite3 *local_2c;
  
  puVar5 = PTR___stack_chk_guard_0015ca30;
  puVar46 = PTR_s_LE_FTS4_0015c5f4;
  iVar15 = pCheck->nErr;
  local_2c = *(sqlite3 **)PTR___stack_chk_guard_0015ca30;
  if ((iPage == 0) || (pCheck->mxErr == 0)) {
    pCheck_00 = pCheck;
    pBVar22 = (BtShared *)isFreeList;
    pBStack_80 = unaff_s4;
    if (N != 0) {
      iVar15 = 0;
LAB_0008366c:
      if (isFreeList == 0) {
        iPage = (int)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);
      }
      else {
        iPage = (int)(PTR_LAB_0015c5e8 + 0x79d0);
      }
      pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);
      pCheck_00 = pCheck;
      local_58 = (Pager *)N;
      checkAppendMsg(pCheck,(char *)pBVar22,iPage,iVar15);
      pBStack_80 = unaff_s4;
    }
  }
  else {
    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;
    unaff_s5 = (BtShared *)(PTR_LAB_0015c718 + 0x3248);
    pcVar6 = (code *)(PTR_LAB_0015c66c + -0x138c);
    pcVar7 = (code *)(PTR_LAB_0015c718 + 0x3088);
    unaff_s0 = (BtShared *)iPage;
    uVar23 = N;
    unaff_s3 = unaff_s4;
    while (pCheck_00 = pCheck, pBVar22 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),
          pBStack_80 = unaff_s3, iVar8 == 0) {
      iPage = (int)&pOvflPage;
      unaff_s3 = (BtShared *)(uVar23 - 1);
      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);
      pBStack_80 = unaff_s3;
      if (iVar8 != 0) {
        pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);
        pCheck_00 = pCheck;
        iPage = (int)unaff_s0;
        checkAppendMsg(pCheck,(char *)pBVar22);
        if (unaff_s3 == (BtShared *)0x0) goto LAB_00083534;
        iVar8 = pCheck->nErr;
        unaff_s4 = unaff_s3;
        goto LAB_00083658;
      }
      pBVar22 = pCheck->pBt;
      unaff_s7 = (Bitvec *)pOvflPage->pData;
      puVar4 = &pBVar22->autoVacuum;
      if (isFreeList == 0) {
        pBVar22 = (BtShared *)unaff_s7->iSize;
        pBVar11 = pBVar22;
        uVar23 = (u32)unaff_s3;
        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {
          checkPtrmap(pCheck,(Pgno)pBVar22,'\x04',(Pgno)unaff_s0);
          pBVar11 = (BtShared *)unaff_s7->iSize;
          goto LAB_00083488;
        }
LAB_00083518:
        pCheck_00 = (IntegrityCk *)pOvflPage;
        (*pcVar6)();
        unaff_s0 = pBVar11;
      }
      else {
        unaff_s2 = (BtShared *)unaff_s7->nSet;
        if (*puVar4 != '\0') {
          iPage = 2;
          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);
          pBVar22 = pCheck->pBt;
        }
        if ((BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2) {
          uVar23 = uVar23 - 2;
          pBVar22 = (BtShared *)(puVar46 + -0x7864);
          (*pcVar7)(pCheck);
          pBVar11 = (BtShared *)unaff_s7->iSize;
          iPage = (int)unaff_s0;
        }
        else {
          if (0 < (int)unaff_s2) {
            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;
            puVar25 = paVar38->aHash + (int)unaff_s2;
            while( true ) {
              pBVar11 = (BtShared *)paVar38->aHash[0];
              if (pBVar22->autoVacuum == '\0') {
                checkRef(pCheck,(Pgno)pBVar11);
                pBVar22 = pBVar11;
              }
              else {
                iPage = 2;
                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);
                checkRef(pCheck,(Pgno)pBVar11);
                pBVar22 = pBVar11;
              }
              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==
                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;
              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);
              pBVar22 = pCheck->pBt;
            }
          }
          pBVar11 = (BtShared *)unaff_s7->iSize;
          uVar23 = (int)unaff_s3 - (int)unaff_s2;
        }
LAB_00083488:
        unaff_s0 = pBVar11;
        pCheck_00 = (IntegrityCk *)pOvflPage;
        if (pOvflPage != (DbPage *)0x0) goto LAB_00083518;
      }
      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;
    }
    unaff_s3 = (BtShared *)uVar23;
    if (uVar23 != 0) {
      iVar8 = pCheck->nErr;
      unaff_s4 = pBStack_80;
LAB_00083658:
      pBStack_80 = unaff_s4;
      if (iVar8 == iVar15) {
        iVar15 = N - (int)unaff_s3;
        goto LAB_0008366c;
      }
    }
  }
LAB_00083534:
  if (local_2c == *(sqlite3 **)puVar5) {
    return;
  }
  pcVar6 = checkTreePage;
  puVar46 = PTR___stack_chk_fail_0015ca14;
  (*(code *)PTR___stack_chk_fail_0015ca14)();
  piVar33 = *(int **)(puVar46 + 0xd9334);
  pMStack_b4 = (MemPage *)0x0;
  auStack_b0._28_4_ = *piVar33;
  pBVar11 = (BtShared *)iPage;
  pBVar41 = 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 (pBVar22 == (BtShared *)0x0) {
LAB_00083750:
    iPage = (int)unaff_s5;
    iStack_108 = 0;
    pCheck_00 = pCheck;
  }
  else {
    pcVar9 = pCheck_00->zPfx;
    pBVar41 = pCheck_00->pBt;
    iVar15 = pCheck_00->v1;
    iVar8 = pCheck_00->v2;
    puVar10 = (undefined1 *)pBVar41->usableSize;
    iVar17 = checkRef(pCheck_00,(Pgno)pBVar22);
    unaff_s5 = (BtShared *)iPage;
    pCheck = pCheck_00;
    if (iVar17 != 0) goto LAB_00083750;
    iVar17 = *(int *)(puVar46 + 0xd8ef8);
    iVar36 = *(int *)(puVar46 + 0xd8f70);
    pCheck_00->v1 = (int)pBVar22;
    pCheck_00->zPfx = (char *)(iVar17 + -0x7820);
    pBVar11 = (BtShared *)(*(code *)(iVar36 + -0xe54))(pBVar41,pBVar22,&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 *)(puVar46 + 0xd8ef8) + -0x77ec);
        goto LAB_00083b74;
      }
      isFreeList = (int)pMStack_b4->aData;
      uVar39 = (uint)pMStack_b4->hdrOffset;
      pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77c4);
      iVar17 = uVar39 + 0xc + (uint)pMStack_b4->leaf * -4;
      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 3) - 1);
      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 5) - 1);
      uVar24 = (uint)pBVar11 & 0xffff;
      pBVar18 = (BtShared *)(uVar24 + 1);
      if (pMStack_b4->leaf == 0) {
        PVar37 = *(Pgno *)(isFreeList + uVar39 + 8);
        if (pBVar41->autoVacuum != '\0') {
          pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8);
          checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22);
        }
        pBVar11 = (BtShared *)&local_58;
        unaff_s7 = (Bitvec *)0x0;
        iStack_108 = checkTreePage(pCheck_00,PVar37,(i64 *)pBVar11,CONCAT44(local_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 = local_58;
        pCheck_00->zPfx = (char *)0x0;
LAB_00083c5c:
        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 *)(puVar46 + 0xd8f70) + -0xb3c;
              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);
              pBStack_64 = pBVar22;
              do {
                puVar35 = puVar31 + -1;
                uVar42 = (uint)*puVar31;
                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));
                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);
                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);
                puVar31 = puVar35;
                pBVar22 = pBStack_64;
              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);
            }
          }
          uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);
          unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);
          if (uVar42 != 0) {
            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;
            piVar43 = (int *)unaff_s2;
            do {
              puVar31 = (ushort *)(isFreeList + uVar42);
              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);
              uVar42 = (uint)*puVar31;
            } while (uVar42 != 0);
          }
          uVar23 = unaff_s7->iSize;
          if (uVar23 == 0) {
            puVar26 = (undefined1 *)0x0;
          }
          else {
            puVar26 = (undefined1 *)0x0;
            do {
              uVar42 = unaff_s7->nSet;
              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];
              (&unaff_s7->iSize)[uVar23] = 0xffffffff;
              uVar23 = unaff_s7->iSize - 1;
              unaff_s7->iSize = uVar23;
              if (1 < uVar23) {
                uVar32 = unaff_s7->nSet;
                uVar30 = 2;
                uVar13 = 1;
                do {
                  puVar25 = &unaff_s7->nSet + uVar30;
                  uVar16 = *puVar25;
                  uVar19 = uVar30 + 1;
                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {
                    puVar25 = &unaff_s7->iSize + uVar30;
                    uVar16 = *puVar25;
                    uVar19 = uVar30;
                  }
                  if (uVar32 < uVar16) break;
                  (&unaff_s7->iSize)[uVar13] = uVar16;
                  uVar30 = uVar19 << 1;
                  *puVar25 = uVar32;
                  uVar23 = unaff_s7->iSize;
                  uVar13 = uVar19;
                } while (uVar30 <= uVar23);
              }
              pBVar11 = (BtShared *)(uVar42 >> 0x10);
              unaff_s2 = (BtShared *)(uVar24 & 0xffff);
              if (pBVar11 <= unaff_s2) {
                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,
                               pBVar22);
                if (unaff_s7->iSize != 0) goto LAB_00083b8c;
                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));
                goto LAB_00083e5c;
              }
              puVar26 = (undefined1 *)
                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));
              uVar24 = uVar42;
            } while (uVar23 != 0);
            uVar24 = uVar42 & 0xffff;
          }
          unaff_s7 = (Bitvec *)(puVar10 + -1);
          pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24));
LAB_00083e5c:
          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {
            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));
          }
        }
      }
      else {
        puVar26 = puVar10 + -4;
        bVar3 = true;
        iVar36 = *(int *)(puVar46 + 0xd8ef8);
        pcVar6 = (code *)(*(int *)(puVar46 + 0xd901c) + 0x3088);
        iVar40 = *(int *)(puVar46 + 0xd8ef8);
        iVar44 = *(int *)(puVar46 + 0xd8f70);
        iVar47 = *(int *)(puVar46 + 0xd901c);
        puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);
        pBStack_64 = pBVar22;
        do {
          pCheck_00->v2 = (int)unaff_s2;
          pBVar22 = (BtShared *)(uint)*puVar31;
          if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {
            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);
            bVar3 = false;
            pBVar11 = pBVar22;
          }
          else {
            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);
            pBVar11 = (BtShared *)auStack_b0;
            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);
            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {
              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);
              bVar3 = false;
            }
            else {
              if (pMStack_b4->intKey != '\0') {
                if (bVar2) {
                  bVar2 = true;
                  if ((int)auStack_b0._0_4_ <= (int)local_58) {
                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;
                    if ((uint)auStack_b0._4_4_ <= psStack_54) {
                      bVar2 = false;
                    }
                  }
                }
                else {
                  bVar2 = true;
                  if (((int)auStack_b0._0_4_ < (int)local_58) ||
                     ((local_58 == (Pager *)auStack_b0._0_4_ &&
                      ((uint)auStack_b0._4_4_ < psStack_54)))) {
LAB_00083eb0:
                    bVar2 = false;
                  }
                }
                if (bVar2) {
                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);
                }
                bVar2 = false;
                local_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_) {
                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);
                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));
                if (puVar26 == (undefined1 *)0x0) {
                  trap(7);
                }
                if (pBVar41->autoVacuum != '\0') {
                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);
                }
                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);
              }
              if (pMStack_b4->leaf == '\0') {
                PVar37 = *pPVar34;
                if (pBVar41->autoVacuum != '\0') {
                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);
                }
                pBVar11 = (BtShared *)&local_58;
                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);
                if (iVar29 == iStack_108) {
                  bVar2 = false;
                  iStack_108 = iVar29;
                }
                else {
                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);
                  bVar2 = false;
                  iStack_108 = iVar29;
                }
              }
              else {
                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);
                (*(code *)(iVar44 + -0xb3c))
                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |
                                    (int)pBVar22 << 0x10);
              }
            }
          }
          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);
        } while ((unaff_s2 != (BtShared *)0xffffffff) &&
                (puVar31 = puVar31 + -1, pCheck_00->mxErr != 0));
        iStack_108 = iStack_108 + 1;
        ((BtShared *)iPage)->db = psStack_54;
        ((BtShared *)iPage)->pPager = local_58;
        pCheck_00->zPfx = (char *)0x0;
        pBVar22 = pBStack_64;
        pBVar41 = pBVar18;
        if (bVar3) goto LAB_00083c5c;
        pMStack_b4->isInit = uVar1;
      }
    }
    else {
      zFormat = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7814);
LAB_00083b74:
      checkAppendMsg(pCheck_00,zFormat);
      iStack_108 = 0;
    }
LAB_00083b8c:
    if (pMStack_b4 != (MemPage *)0x0) {
      (*(code *)(*(int *)(puVar46 + 0xd8f70) + -0x138c))(pMStack_b4->pDbPage);
    }
    pCheck_00->zPfx = pcVar9;
    pCheck_00->v1 = iVar15;
    pCheck_00->v2 = iVar8;
  }
  if ((sqlite3 *)auStack_b0._28_4_ == (sqlite3 *)*piVar33) {
    return;
  }
  pcVar6 = *(code **)(puVar46 + 0xd9318);
  pcVar7 = rtreenode;
  psVar20 = (sqlite3 *)auStack_b0._28_4_;
  (*pcVar6)();
  uVar24 = 0;
  puVar27 = (undefined4 *)&DAT_000001f8;
  piVar43 = *(int **)(pcVar6 + 0xd8a28);
  uStackY_3b0 = 0;
  uStackY_3ac = 0;
  uStackY_3a8 = 0;
  uStackY_3a4 = 0;
  uStackY_3a0 = 0;
  uStackY_39c = 0;
  iStackY_398 = 0;
  uStackY_394 = 0;
  iStackY_164 = *piVar43;
  piStackY_160 = piVar33;
  pBStackY_15c = pBVar22;
  pBStackY_158 = unaff_s2;
  iStackY_154 = iStack_108;
  pBStackY_150 = pBVar41;
  pBStackY_14c = (BtShared *)iPage;
  puStackY_148 = (u8 *)isFreeList;
  pBStackY_144 = unaff_s7;
  pIStackY_140 = pCheck_00;
  pcStackY_13c = pcVar7;
  (**(code **)(pcVar6 + 0xd89b0))(auStackY_360);
  psVar21 = (sqlite3 *)pBVar11->pPager;
  bStackY_34c = (**(code **)(pcVar6 + 0xd8730))(psVar21);
  if (bStackY_34c - 1 < 5) {
    bStackY_34b = bStackY_34c << 1;
    bStackY_349 = (bStackY_34c + 1) * '\b';
    iStackY_398 = (**(code **)(pcVar6 + 0xd8628))(pBVar11->db);
    psVar21 = pBVar11->db;
    iVar15 = (**(code **)(pcVar6 + 0xd862c))(psVar21);
    if (3 < iVar15) {
      uVar24 = (uint)bStackY_349;
      psVar21 = (sqlite3 *)(uint)*(byte *)(iStackY_398 + 3);
      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +
                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b) * uVar24) <= iVar15) {
        p = (StrAccum *)(**(code **)(pcVar6 + 0xd881c))(0);
        if ((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3) != 0) {
          iVar15 = *(int *)(pcVar6 + 0xd85ec);
          iVar8 = *(int *)(pcVar6 + 0xd86bc);
          iVar40 = 0;
          (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,0);
          iVar17 = *(int *)(pcVar6 + 0xd85e0);
          iVar44 = *(int *)(pcVar6 + 0xd85ec);
          iVar36 = *(int *)(pcVar6 + 0xd85ec);
          while( true ) {
            sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);
            if (bStackY_34b != 0) {
              pfVar45 = afStackY_388;
              iVar47 = 0;
              do {
                fVar48 = *pfVar45;
                iVar47 = iVar47 + 1;
                pfVar45 = pfVar45 + 1;
                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),
                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)
                                   );
              } while (iVar47 < (int)(uint)bStackY_34b);
            }
            iVar40 = iVar40 + 1;
            (**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);
            if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))
                <= iVar40) break;
            (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);
            (**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);
          }
        }
        uVar24 = (**(code **)(pcVar6 + 0xd8820))(p);
        uVar28 = (**(code **)(pcVar6 + 0xd8824))(p);
        puVar27 = (undefined4 *)0xffffffff;
        (**(code **)(pcVar6 + 0xd866c))(psVar20,uVar28,0xffffffff,*(undefined4 *)(pcVar6 + 0xd85e4))
        ;
        (**(code **)(pcVar6 + 0xd8778))(psVar20);
        psVar21 = psVar20;
      }
    }
  }
  if (iStackY_164 == *piVar43) {
    return;
  }
  pcVar6 = *(code **)(pcVar6 + 0xd8a0c);
  (*pcVar6)();
  iVar15 = (**(code **)(pcVar6 + 0xd8304))(*puVar27);
  if (iVar15 == 5) {
    return;
  }
  iVar15 = (**(code **)(pcVar6 + 0xd8450))(psVar21,0x18);
  if (iVar15 == 0) {
    return;
  }
  iVar8 = (**(code **)(pcVar6 + 0xd83c8))(psVar21);
  iVar17 = *(int *)(iVar15 + 0xc);
  *(undefined4 *)(iVar15 + 0xc) = *(undefined4 *)(iVar8 + 0x6c);
  if (iVar17 != 0) {
    if (uVar24 == 2) {
      iVar8 = (**(code **)(pcVar6 + 0xd831c))(puVar27[1]);
      uVar28 = (**(code **)(pcVar6 + 0xd8318))(puVar27[1]);
      if (iVar8 == 0) goto LAB_000843cc;
      pcVar7 = *(code **)(pcVar6 + 0xd84a8);
    }
    else {
      uVar28 = 1;
      iVar8 = *(int *)(pcVar6 + 0xd82cc) + 0x60cc;
      pcVar7 = *(code **)(pcVar6 + 0xd84a8);
    }
    (*pcVar7)(iVar15,iVar8,uVar28);
  }
LAB_000843cc:
  iVar8 = (**(code **)(pcVar6 + 0xd831c))(*puVar27);
  uVar28 = (**(code **)(pcVar6 + 0xd8318))(*puVar27);
  if (iVar8 == 0) {
    return;
  }
                    /* WARNING: Could not recover jumptable at 0x00084418. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (**(code **)(pcVar6 + 0xd84a8))(iVar15,iVar8,uVar28);
  return;
}



/* WARNING: Type propagation algorithm not settling */

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

{
  code *pcVar1;
  byte bVar2;
  bool bVar3;
  undefined *puVar4;
  code *pcVar5;
  code *pcVar6;
  int iVar7;
  code *****pppppcVar8;
  code *******pppppppcVar9;
  code ****ppppcVar10;
  int iVar11;
  code *****pppppcVar12;
  code *******pppppppcVar13;
  code ****ppppcVar14;
  int iVar15;
  code ****ppppcVar16;
  code ******ppppppcVar17;
  code ******ppppppcVar18;
  code *******pppppppcVar19;
  code ****ppppcVar20;
  uint uVar21;
  code *******pppppppcVar22;
  undefined4 *puVar23;
  code ****ppppcVar24;
  code ****ppppcVar25;
  code ****ppppcVar26;
  code ****ppppcVar27;
  code *******unaff_s0;
  uint *puVar28;
  undefined *unaff_s1;
  int iVar29;
  code *******unaff_s2;
  code *******unaff_s3;
  code *****pppppcVar30;
  int iVar31;
  code *******unaff_s4;
  code *******pppppppcVar32;
  code *******unaff_s5;
  int *piVar33;
  int iVar34;
  code *****unaff_s7;
  float *pfVar35;
  undefined *puVar36;
  int iVar37;
  undefined4 uVar38;
  float fVar39;
  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];
  byte bStack_34c;
  byte bStack_34b;
  byte bStack_349;
  int iStack_164;
  uint *puStack_160;
  code *******pppppppcStack_15c;
  code *******pppppppcStack_158;
  int iStack_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;
  int local_2c;
  
  puVar4 = PTR___stack_chk_guard_0015ca30;
  puVar36 = PTR_s_LE_FTS4_0015c5f4;
  pppppcVar12 = param_1[5];
  local_2c = *(int *)PTR___stack_chk_guard_0015ca30;
  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {
    ppppppcVar18 = param_1;
    pppppppcVar19 = param_2;
    pppppppcStack_80 = unaff_s4;
    if (param_4 != (code *******)0x0) {
LAB_0008366c:
      if (param_2 == (code *******)0x0) {
        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);
      }
      else {
        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);
      }
      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);
      ppppppcVar18 = param_1;
      local_58 = param_4;
      FUN_00083088();
      pppppppcStack_80 = unaff_s4;
    }
  }
  else {
    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;
    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);
    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);
    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);
    unaff_s0 = param_3;
    pppppppcVar9 = param_4;
    unaff_s3 = unaff_s4;
    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),
          pppppppcStack_80 = unaff_s3, iVar7 == 0) {
      param_3 = &local_30;
      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);
      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);
      pppppppcStack_80 = unaff_s3;
      if (iVar7 != 0) {
        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);
        ppppppcVar18 = param_1;
        param_3 = unaff_s0;
        FUN_00083088();
        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;
        pppppcVar8 = param_1[5];
        unaff_s4 = unaff_s3;
        goto LAB_00083658;
      }
      pppppppcVar19 = (code *******)*param_1;
      unaff_s7 = local_30[1];
      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);
      if (param_2 == (code *******)0x0) {
        pppppppcVar19 = (code *******)*unaff_s7;
        pppppppcVar32 = pppppppcVar19;
        pppppppcVar9 = unaff_s3;
        if ((*pcVar1 != (code)0x0) &&
           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {
          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);
          pppppppcVar32 = (code *******)*unaff_s7;
          goto LAB_00083488;
        }
LAB_00083518:
        ppppppcVar18 = local_30;
        (*pcVar5)();
        unaff_s0 = pppppppcVar32;
      }
      else {
        unaff_s2 = (code *******)unaff_s7[1];
        if (*pcVar1 != (code)0x0) {
          param_3 = (code *******)&SUB_00000002;
          FUN_00083248(param_1,unaff_s0,2,0);
          pppppppcVar19 = (code *******)*param_1;
        }
        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {
          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);
          pppppppcVar19 = (code *******)(puVar36 + -0x7864);
          (*pcVar6)(param_1);
          pppppppcVar32 = (code *******)*unaff_s7;
          param_3 = unaff_s0;
        }
        else {
          if (0 < (int)unaff_s2) {
            pppppcVar30 = unaff_s7 + 2;
            pppppcVar8 = pppppcVar30 + (int)unaff_s2;
            while( true ) {
              pppppppcVar9 = (code *******)*pppppcVar30;
              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {
                FUN_000831a0(param_1);
                pppppppcVar19 = pppppppcVar9;
              }
              else {
                param_3 = (code *******)&SUB_00000002;
                FUN_00083248(param_1,pppppppcVar9,2,0);
                FUN_000831a0(param_1);
                pppppppcVar19 = pppppppcVar9;
              }
              if (pppppcVar30 + 1 == pppppcVar8) break;
              pppppcVar30 = pppppcVar30 + 1;
              pppppppcVar19 = (code *******)*param_1;
            }
          }
          pppppppcVar32 = (code *******)*unaff_s7;
          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);
        }
LAB_00083488:
        unaff_s0 = pppppppcVar32;
        ppppppcVar18 = local_30;
        if (local_30 != (code ******)0x0) goto LAB_00083518;
      }
      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;
    }
    unaff_s3 = pppppppcVar9;
    if (pppppppcVar9 != (code *******)0x0) {
      pppppcVar8 = param_1[5];
      unaff_s4 = pppppppcStack_80;
LAB_00083658:
      pppppppcStack_80 = unaff_s4;
      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;
    }
  }
LAB_00083534:
  if (local_2c == *(int *)puVar4) {
    return *(int *)puVar4;
  }
  pcVar5 = FUN_000836fc;
  puVar36 = PTR___stack_chk_fail_0015ca14;
  (*(code *)PTR___stack_chk_fail_0015ca14)();
  puStack_120 = puVar36 + 0xe0eb4;
  puVar28 = *(uint **)(puVar36 + 0xd9334);
  pbStack_b4 = (byte *)0x0;
  ppppppcStack_94 = (code ******)*puVar28;
  pppppppcVar9 = param_3;
  pppppppcVar32 = 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 = pcVar5;
  if (pppppppcVar19 == (code *******)0x0) {
LAB_00083750:
    iVar7 = 0;
    ppppppcVar18 = param_1;
  }
  else {
    pppppcStack_114 = ppppppcVar18[7];
    pppppppcVar32 = (code *******)*ppppppcVar18;
    pppppcStack_110 = ppppppcVar18[8];
    pppppcStack_10c = ppppppcVar18[9];
    ppppppcStack_118 = pppppppcVar32[9];
    iVar7 = FUN_000831a0();
    unaff_s5 = param_3;
    param_1 = ppppppcVar18;
    if (iVar7 != 0) goto LAB_00083750;
    iVar7 = *(int *)(puStack_120 + -0x7fbc);
    iVar11 = *(int *)(puStack_120 + -0x7f44);
    ppppppcVar18[8] = (code *****)pppppppcVar19;
    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);
    pppppppcVar9 = (code *******)
                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);
    if (pppppppcVar9 == (code *******)0x0) {
      uStack_f0 = (uint)*pbStack_b4;
      *pbStack_b4 = 0;
      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);
      if (pppppppcStack_dc != (code *******)0x0) {
        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;
        pppppppcVar9 = pppppppcStack_dc;
        goto LAB_00083b74;
      }
      param_2 = *(code ********)(pbStack_b4 + 0x38);
      bVar2 = pbStack_b4[9];
      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);
      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);
      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;
      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);
      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);
      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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) {
        uVar38 = *(undefined4 *)(pcStack_d4 + 8);
        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {
          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);
          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);
        }
        pppppppcVar9 = (code *******)&local_58;
        ppppppcStack_124 = ppppppcStack_54;
        unaff_s7 = (code *****)0x0;
        pppppppcStack_128 = local_58;
        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);
        iStack_104 = 0;
      }
      else {
        unaff_s7 = ppppppcVar18[0x10];
        iStack_104 = 1;
        *unaff_s7 = (code ****)0x0;
        iStack_108 = -1;
      }
      pppppppcVar22 = pppppppcStack_d8;
      unaff_s2 = pppppppcStack_ec;
      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {
        iVar7 = iStack_108 + 1;
        param_3[1] = ppppppcStack_54;
        *param_3 = (code ******)local_58;
        ppppppcVar18[7] = (code *****)0x0;
LAB_00083c5c:
        if (0 < (int)ppppppcVar18[4]) {
          if (pbStack_b4[8] == 0) {
            unaff_s7 = ppppppcVar18[0x10];
            *unaff_s7 = (code ****)0x0;
            if (pppppppcStack_ec != (code *******)0xffffffff) {
              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);
              iVar11 = iStack_c4 + -2;
              pcVar5 = pcStack_e4;
              pppppppcStack_64 = pppppppcVar19;
              do {
                pcVar6 = pcVar5 + -2;
                uVar21 = (uint)*(ushort *)pcVar5;
                iVar15 = (**(code **)(pbStack_b4 + 0x4c))
                                   (pbStack_b4,(code *)((int)param_2 + uVar21));
                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);
                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);
                pcVar5 = pcVar6;
                pppppppcVar19 = pppppppcStack_64;
              } while ((code *)((int)param_2 + iVar11) != pcVar6);
            }
          }
          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);
          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);
          if (uVar21 != 0) {
            unaff_s2 = unaff_s2 + -0x2cf;
            pppppppcVar9 = unaff_s2;
            do {
              pcVar5 = (code *)((int)param_2 + uVar21);
              (*(code *)pppppppcVar9)
                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);
              uVar21 = (uint)*(ushort *)pcVar5;
            } while (uVar21 != 0);
          }
          ppppcVar20 = *unaff_s7;
          pppppppcVar22 = pppppppcStack_dc;
          ppppcVar26 = ppppcStack_c8;
          if (ppppcVar20 == (code ****)0x0) {
            pppppppcVar22 = (code *******)0x0;
          }
          else {
            do {
              ppppcVar25 = unaff_s7[1];
              unaff_s7[1] = unaff_s7[(int)ppppcVar20];
              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;
              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);
              *unaff_s7 = ppppcVar20;
              if ((code ****)0x1 < ppppcVar20) {
                ppppcVar27 = unaff_s7[1];
                ppppcVar24 = (code ****)0x2;
                ppppcVar10 = (code ****)0x1;
                do {
                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);
                  ppppcVar14 = *pppppcVar12;
                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);
                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {
                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;
                    ppppcVar14 = *pppppcVar12;
                    ppppcVar16 = ppppcVar24;
                  }
                  if (ppppcVar27 < ppppcVar14) break;
                  unaff_s7[(int)ppppcVar10] = ppppcVar14;
                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);
                  *pppppcVar12 = ppppcVar27;
                  ppppcVar20 = *unaff_s7;
                  ppppcVar10 = ppppcVar16;
                } while (ppppcVar24 <= ppppcVar20);
              }
              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);
              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);
              if (pppppppcVar9 <= unaff_s2) {
                pppppppcStack_dc = pppppppcVar22;
                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,
                             pppppppcVar19);
                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;
                pppppppcVar9 = (code *******)
                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +
                               -(int)unaff_s2);
                goto LAB_00083e5c;
              }
              pppppppcVar22 =
                   (code *******)
                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);
              ppppcVar26 = ppppcVar25;
            } while (ppppcVar20 != (code ****)0x0);
            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);
          }
          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);
          pppppppcVar9 = (code *******)
                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);
LAB_00083e5c:
          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {
            pppppppcStack_128 = pppppppcVar19;
            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);
          }
        }
      }
      else {
        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);
        iStack_fc = 1;
        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);
        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);
        iStack_cc = *(int *)(puStack_120 + -0x7fbc);
        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);
        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);
        pcVar5 = pcStack_e4;
        pppppppcStack_f8 = pppppppcVar32;
        pppppcStack_e8 = unaff_s7;
        pppppppcStack_d8 = param_3;
        pppppppcStack_64 = pppppppcVar19;
        do {
          ppppppcVar18[9] = (code *****)unaff_s2;
          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;
          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {
            pppppppcStack_128 = pppppppcVar13;
            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);
            iStack_fc = 0;
            pppppppcVar9 = pppppppcVar19;
          }
          else {
            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);
            pppppppcVar9 = (code *******)&pppppppcStack_b0;
            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);
            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {
              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);
              iStack_fc = 0;
            }
            else {
              if (pbStack_b4[2] != 0) {
                if (iStack_104 == 0) {
                  bVar3 = true;
                  if (((int)pppppppcStack_b0 < (int)local_58) ||
                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {
LAB_00083eb0:
                    bVar3 = false;
                  }
                }
                else {
                  bVar3 = true;
                  if ((int)pppppppcStack_b0 <= (int)local_58) {
                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;
                    if (ppppppcStack_ac <= ppppppcStack_54) {
                      bVar3 = false;
                    }
                  }
                }
                if (bVar3) {
                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);
                }
                iStack_104 = 0;
                local_58 = pppppppcStack_b0;
                ppppppcStack_54 = ppppppcStack_ac;
              }
              if (uStack_a0 < uStack_a4) {
                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));
                if (pppppppcVar13 == (code *******)0x0) {
                  trap(7);
                }
                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /
                         (uint)pppppppcVar13;
                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {
                  uStack_c0 = uVar38;
                  uStack_bc = uVar21;
                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);
                  uVar21 = uStack_bc;
                  uVar38 = uStack_c0;
                }
                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);
              }
              if (pbStack_b4[8] == 0) {
                uVar38 = *(undefined4 *)pcVar6;
                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {
                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);
                }
                pppppppcVar9 = (code *******)&local_58;
                ppppppcStack_124 = ppppppcStack_54;
                pppppppcStack_128 = local_58;
                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);
                if (iVar7 == iStack_108) {
                  iStack_104 = 0;
                  iStack_108 = iVar7;
                }
                else {
                  iStack_108 = iVar7;
                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);
                  iStack_104 = 0;
                }
              }
              else {
                pppppppcVar9 = (code *******)(uStack_9e - 1);
                (*pcStack_d0)(pppppcStack_e8,
                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |
                              (int)pppppppcVar19 << 0x10);
              }
            }
          }
          unaff_s2 = (code *******)((int)unaff_s2 + -1);
        } while ((unaff_s2 != (code *******)0xffffffff) &&
                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));
        iVar7 = iStack_108 + 1;
        pppppppcStack_d8[1] = ppppppcStack_54;
        *pppppppcStack_d8 = (code ******)local_58;
        ppppppcVar18[7] = (code *****)0x0;
        pppppppcVar19 = pppppppcStack_64;
        pppppppcVar32 = pppppppcVar22;
        unaff_s5 = pppppppcStack_d8;
        unaff_s7 = pppppcStack_e8;
        if (iStack_fc != 0) goto LAB_00083c5c;
        *pbStack_b4 = (byte)uStack_f0;
      }
    }
    else {
      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;
LAB_00083b74:
      FUN_00083088(ppppppcVar18,iVar7);
      iVar7 = 0;
    }
LAB_00083b8c:
    if (pbStack_b4 != (byte *)0x0) {
      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));
    }
    ppppppcVar18[7] = pppppcStack_114;
    ppppppcVar18[8] = pppppcStack_110;
    ppppppcVar18[9] = pppppcStack_10c;
  }
  if (ppppppcStack_94 == (code ******)*puVar28) {
    return iVar7;
  }
  pcVar5 = *(code **)(puStack_120 + -0x7b9c);
  uVar38 = 0x84008;
  ppppppcVar17 = ppppppcStack_94;
  (*pcVar5)();
  uVar21 = 0;
  puVar23 = (undefined4 *)&DAT_000001f8;
  piVar33 = *(int **)(pcVar5 + 0xd8a28);
  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 = *piVar33;
  puStack_160 = puVar28;
  pppppppcStack_15c = pppppppcVar19;
  pppppppcStack_158 = unaff_s2;
  iStack_154 = iVar7;
  pppppppcStack_150 = pppppppcVar32;
  pppppppcStack_14c = unaff_s5;
  pppppppcStack_148 = param_2;
  pppppcStack_144 = unaff_s7;
  ppppppcStack_140 = ppppppcVar18;
  uStack_13c = uVar38;
  (**(code **)(pcVar5 + 0xd89b0))(auStack_360);
  ppppppcVar18 = *pppppppcVar9;
  bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18);
  if (bStack_34c - 1 < 5) {
    bStack_34b = bStack_34c << 1;
    bStack_349 = (bStack_34c + 1) * '\b';
    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);
    ppppppcVar18 = pppppppcVar9[1];
    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);
    if (3 < iVar7) {
      uVar21 = (uint)bStack_349;
      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);
      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +
                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {
        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);
        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {
          iVar7 = *(int *)(pcVar5 + 0xd85ec);
          iVar11 = *(int *)(pcVar5 + 0xd86bc);
          iVar31 = 0;
          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);
          iVar15 = *(int *)(pcVar5 + 0xd85e0);
          iVar34 = *(int *)(pcVar5 + 0xd85ec);
          iVar29 = *(int *)(pcVar5 + 0xd85ec);
          while( true ) {
            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);
            if (bStack_34b != 0) {
              pfVar35 = afStack_388;
              iVar37 = 0;
              do {
                fVar39 = *pfVar35;
                iVar37 = iVar37 + 1;
                pfVar35 = pfVar35 + 1;
                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)
                                    ,SUB84((double)fVar39,0));
              } while (iVar37 < (int)(uint)bStack_34b);
            }
            iVar31 = iVar31 + 1;
            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);
            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=
                iVar31) break;
            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);
            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);
          }
        }
        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);
        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);
        puVar23 = (undefined4 *)0xffffffff;
        (**(code **)(pcVar5 + 0xd866c))
                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));
        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);
        ppppppcVar18 = ppppppcVar17;
      }
    }
  }
  iVar7 = *piVar33;
  if (iStack_164 == iVar7) {
    return iVar7;
  }
  pcVar5 = *(code **)(pcVar5 + 0xd8a0c);
  (*pcVar5)();
  iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23);
  if (iVar7 == 5) {
    return 5;
  }
  iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18);
  if (iVar7 == 0) {
    return 0;
  }
  iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18);
  iVar15 = *(int *)(iVar7 + 0xc);
  *(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c);
  if (iVar15 != 0) {
    if (uVar21 == 2) {
      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);
      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);
      if (iVar11 == 0) goto LAB_000843cc;
      pcVar6 = *(code **)(pcVar5 + 0xd84a8);
    }
    else {
      uVar38 = 1;
      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;
      pcVar6 = *(code **)(pcVar5 + 0xd84a8);
    }
    (*pcVar6)(iVar7,iVar11,uVar38);
  }
LAB_000843cc:
  iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);
  iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23);
  if (iVar11 == 0) {
    return iVar15;
  }
                    /* WARNING: Could not recover jumptable at 0x00084418. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15);
  return iVar7;
}


lui gp,0xe
addiu gp,gp,0x1220
addu gp,gp,t9
addiu sp,sp,-0x68
lw v0,-0x7b80(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,0x000836e0
_lw v0,0x74(sp)
lw v0,0x10(a0)
beq v0,zero,0x000836dc
_lw v0,-0x7fbc(gp)
or s0,a2,zero
lw s1,-0x7e98(gp)
lw s5,-0x7e98(gp)
sw v0,0x28(sp)
lw v0,-0x7f44(gp)
addiu s1,s1,0x31a0
lw s3,0x74(sp)
addiu s5,s5,0x3248
addiu v0,v0,-0x138c
sw v0,0x24(sp)
lw v0,-0x7e98(gp)
addiu v0,v0,0x3088
b 0x000834a4
_sw v0,0x2c(sp)
lwl s2,0x4(s7)
bne v0,zero,0x00083630
_lwr s2,0x7(s7)
lw v0,0x24(a1)
srl v0,v0,0x2
addiu v0,v0,-0x2
sltu v0,v0,s2
beq v0,zero,0x00083598
_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,-0x7864
lwl s0,0x0(s7)
lw gp,0x18(sp)
lw a0,0x38(sp)
lwr s0,0x3(s7)
bne a0,zero,0x00083518
_lw t9,0x24(sp)
beq s0,zero,0x00083528
_nop
lw v0,0x10(s8)
beq v0,zero,0x00083528
_nop
or a1,s0,zero
or t9,s1,zero
bal 0x000831a0
_or a0,s8,zero
bne v0,zero,0x00083528
_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,0x000836a4
_lw gp,0x18(sp)
lw a0,0x38(sp)
lw a1,0x0(s8)
lw s7,0x4(a0)
bne s6,zero,0x0008343c
_lbu v0,0x11(a1)
lwl a1,0x0(s7)
beq v0,zero,0x0008350c
_lwr a1,0x3(s7)
bne s4,zero,0x00083570
_li a2,0x4
or s0,a1,zero
or s3,s4,zero
lw t9,0x24(sp)
jalr t9
_nop
bne s0,zero,0x00083498
_lw gp,0x18(sp)
bne s3,zero,0x00083654
_nop
lw v0,0x30(sp)
lw v1,0x3c(sp)
lw v0,0x0(v0)
bne v1,v0,0x000836f0
_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 0x00083248
_or a0,s8,zero
or s3,s4,zero
lwl s0,0x0(s7)
lw gp,0x18(sp)
lw a0,0x38(sp)
b 0x00083488
_lwr s0,0x3(s7)
blez s2,0x0008361c
_nop
addiu s3,s7,0x8
sll s0,s2,0x2
b 0x000835d0
_addu s0,s0,s3
addiu s3,s3,0x4
or a1,v0,zero
or t9,s1,zero
bal 0x000831a0
_or a0,s8,zero
beq s3,s0,0x0008361c
_lw gp,0x18(sp)
lw a1,0x0(s8)
lwl v0,0x0(s3)
lbu a0,0x11(a1)
beq a0,zero,0x000835b0
_lwr v0,0x3(s3)
or a3,zero,zero
sw v0,0x20(sp)
li a2,0x2
or a1,v0,zero
or t9,s5,zero
bal 0x00083248
_or a0,s8,zero
addiu s3,s3,0x4
lw v0,0x20(sp)
or a0,s8,zero
or t9,s1,zero
bal 0x000831a0
_or a1,v0,zero
bne s3,s0,0x000835cc
_lw gp,0x18(sp)
lwl s0,0x0(s7)
subu s3,s4,s2
lw a0,0x38(sp)
b 0x00083488
_lwr s0,0x3(s7)
or a3,zero,zero
li a2,0x2
or a1,s0,zero
or t9,s5,zero
bal 0x00083248
_or a0,s8,zero
lw gp,0x18(sp)
b 0x00083448
_lw a1,0x0(s8)
lw v0,0x14(s8)
lw v1,0x34(sp)
bne v0,v1,0x00083534
_lw v0,0x30(sp)
lw v0,0x74(sp)
subu a3,v0,s3
bne s6,zero,0x000836d4
_lw a2,-0x7fc8(gp)
lw a2,-0x7fbc(gp)
addiu a2,a2,-0x7894
lw a1,-0x7fbc(gp)
or a0,s8,zero
lw t9,-0x7e98(gp)
lw v0,0x74(sp)
addiu a1,a1,-0x783c
addiu t9,t9,0x3088
bal 0x00083088
_sw v0,0x10(sp)
b 0x00083530
_lw gp,0x18(sp)
lw a1,-0x7fbc(gp)
or a2,s0,zero
lw t9,-0x7e98(gp)
or a0,s8,zero
or s3,s4,zero
addiu t9,t9,0x3088
bal 0x00083088
_addiu a1,a1,-0x787c
beq s3,zero,0x00083530
_lw gp,0x18(sp)
b 0x00083658
_lw v0,0x14(s8)
b 0x0008367c
_addiu a2,a2,0x79d0
lw v0,0x74(sp)
beq v0,zero,0x00083534
_lw v0,0x30(sp)
b 0x0008366c
_or a3,zero,zero
lw t9,-0x7b9c(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nint FUN_00083390(code ******param_1,code *******param_2,code *******param_3,code *******param_4)\n\n{\n  code *pcVar1;\n  byte bVar2;\n  bool bVar3;\n  undefined *puVar4;\n  code *pcVar5;\n  code *pcVar6;\n  int iVar7;\n  code *****pppppcVar8;\n  code *******pppppppcVar9;\n  code ****ppppcVar10;\n  int iVar11;\n  code *****pppppcVar12;\n  code *******pppppppcVar13;\n  code ****ppppcVar14;\n  int iVar15;\n  code ****ppppcVar16;\n  code ******ppppppcVar17;\n  code ******ppppppcVar18;\n  code *******pppppppcVar19;\n  code ****ppppcVar20;\n  uint uVar21;\n  code *******pppppppcVar22;\n  undefined4 *puVar23;\n  code ****ppppcVar24;\n  code ****ppppcVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code *******unaff_s0;\n  uint *puVar28;\n  undefined *unaff_s1;\n  int iVar29;\n  code *******unaff_s2;\n  code *******unaff_s3;\n  code *****pppppcVar30;\n  int iVar31;\n  code *******unaff_s4;\n  code *******pppppppcVar32;\n  code *******unaff_s5;\n  int *piVar33;\n  int iVar34;\n  code *****unaff_s7;\n  float *pfVar35;\n  undefined *puVar36;\n  int iVar37;\n  undefined4 uVar38;\n  float fVar39;\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  byte bStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  int iStack_164;\n  uint *puStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  int iStack_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  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0015ca30;\n  puVar36 = PTR_s_LE_FTS4_0015c5f4;\n  pppppcVar12 = param_1[5];\n  local_2c = *(int *)PTR___stack_chk_guard_0015ca30;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar18 = param_1;\n    pppppppcVar19 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }\n  }\nLAB_00083534:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  pcVar5 = FUN_000836fc;\n  puVar36 = PTR___stack_chk_fail_0015ca14;\n  (*(code *)PTR___stack_chk_fail_0015ca14)();\n  puStack_120 = puVar36 + 0xe0eb4;\n  puVar28 = *(uint **)(puVar36 + 0xd9334);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*puVar28;\n  pppppppcVar9 = param_3;\n  pppppppcVar32 = 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 = pcVar5;\n  if (pppppppcVar19 == (code *******)0x0) {\nLAB_00083750:\n    iVar7 = 0;\n    ppppppcVar18 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*puVar28) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(puStack_120 + -0x7b9c);\n  uVar38 = 0x84008;\n  ppppppcVar17 = ppppppcStack_94;\n  (*pcVar5)();\n  uVar21 = 0;\n  puVar23 = (undefined4 *)&DAT_000001f8;\n  piVar33 = *(int **)(pcVar5 + 0xd8a28);\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 = *piVar33;\n  puStack_160 = puVar28;\n  pppppppcStack_15c = pppppppcVar19;\n  pppppppcStack_158 = unaff_s2;\n  iStack_154 = iVar7;\n  pppppppcStack_150 = pppppppcVar32;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar18;\n  uStack_13c = uVar38;\n  (**(code **)(pcVar5 + 0xd89b0))(auStack_360);\n  ppppppcVar18 = *pppppppcVar9;\n  bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18);\n  if (bStack_34c - 1 < 5) {\n    bStack_34b = bStack_34c << 1;\n    bStack_349 = (bStack_34c + 1) * '\b';\n    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);\n    ppppppcVar18 = pppppppcVar9[1];\n    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);\n    if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }\n  }\n  iVar7 = *piVar33;\n  if (iStack_164 == iVar7) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(pcVar5 + 0xd8a0c);\n  (*pcVar5)();\n  iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23);\n  if (iVar7 == 5) {\n    return 5;\n  }\n  iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18);\n  if (iVar7 == 0) {\n    return 0;\n  }\n  iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18);\n  iVar15 = *(int *)(iVar7 + 0xc);\n  *(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c);\n  if (iVar15 != 0) {\n    if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    (*pcVar6)(iVar7,iVar11,uVar38);\n  }\nLAB_000843cc:\n  iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);\n  iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23);\n  if (iVar11 == 0) {\n    return iVar15;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00084418. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15);\n  return iVar7;\n}\n\n" comment (function_definition "int FUN_00083390(code ******param_1,code *******param_2,code *******param_3,code *******param_4)\n\n{\n  code *pcVar1;\n  byte bVar2;\n  bool bVar3;\n  undefined *puVar4;\n  code *pcVar5;\n  code *pcVar6;\n  int iVar7;\n  code *****pppppcVar8;\n  code *******pppppppcVar9;\n  code ****ppppcVar10;\n  int iVar11;\n  code *****pppppcVar12;\n  code *******pppppppcVar13;\n  code ****ppppcVar14;\n  int iVar15;\n  code ****ppppcVar16;\n  code ******ppppppcVar17;\n  code ******ppppppcVar18;\n  code *******pppppppcVar19;\n  code ****ppppcVar20;\n  uint uVar21;\n  code *******pppppppcVar22;\n  undefined4 *puVar23;\n  code ****ppppcVar24;\n  code ****ppppcVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code *******unaff_s0;\n  uint *puVar28;\n  undefined *unaff_s1;\n  int iVar29;\n  code *******unaff_s2;\n  code *******unaff_s3;\n  code *****pppppcVar30;\n  int iVar31;\n  code *******unaff_s4;\n  code *******pppppppcVar32;\n  code *******unaff_s5;\n  int *piVar33;\n  int iVar34;\n  code *****unaff_s7;\n  float *pfVar35;\n  undefined *puVar36;\n  int iVar37;\n  undefined4 uVar38;\n  float fVar39;\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  byte bStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  int iStack_164;\n  uint *puStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  int iStack_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  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0015ca30;\n  puVar36 = PTR_s_LE_FTS4_0015c5f4;\n  pppppcVar12 = param_1[5];\n  local_2c = *(int *)PTR___stack_chk_guard_0015ca30;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar18 = param_1;\n    pppppppcVar19 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }\n  }\nLAB_00083534:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  pcVar5 = FUN_000836fc;\n  puVar36 = PTR___stack_chk_fail_0015ca14;\n  (*(code *)PTR___stack_chk_fail_0015ca14)();\n  puStack_120 = puVar36 + 0xe0eb4;\n  puVar28 = *(uint **)(puVar36 + 0xd9334);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*puVar28;\n  pppppppcVar9 = param_3;\n  pppppppcVar32 = 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 = pcVar5;\n  if (pppppppcVar19 == (code *******)0x0) {\nLAB_00083750:\n    iVar7 = 0;\n    ppppppcVar18 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*puVar28) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(puStack_120 + -0x7b9c);\n  uVar38 = 0x84008;\n  ppppppcVar17 = ppppppcStack_94;\n  (*pcVar5)();\n  uVar21 = 0;\n  puVar23 = (undefined4 *)&DAT_000001f8;\n  piVar33 = *(int **)(pcVar5 + 0xd8a28);\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 = *piVar33;\n  puStack_160 = puVar28;\n  pppppppcStack_15c = pppppppcVar19;\n  pppppppcStack_158 = unaff_s2;\n  iStack_154 = iVar7;\n  pppppppcStack_150 = pppppppcVar32;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar18;\n  uStack_13c = uVar38;\n  (**(code **)(pcVar5 + 0xd89b0))(auStack_360);\n  ppppppcVar18 = *pppppppcVar9;\n  bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18);\n  if (bStack_34c - 1 < 5) {\n    bStack_34b = bStack_34c << 1;\n    bStack_349 = (bStack_34c + 1) * '\b';\n    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);\n    ppppppcVar18 = pppppppcVar9[1];\n    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);\n    if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }\n  }\n  iVar7 = *piVar33;\n  if (iStack_164 == iVar7) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(pcVar5 + 0xd8a0c);\n  (*pcVar5)();\n  iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23);\n  if (iVar7 == 5) {\n    return 5;\n  }\n  iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18);\n  if (iVar7 == 0) {\n    return 0;\n  }\n  iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18);\n  iVar15 = *(int *)(iVar7 + 0xc);\n  *(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c);\n  if (iVar15 != 0) {\n    if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    (*pcVar6)(iVar7,iVar11,uVar38);\n  }\nLAB_000843cc:\n  iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);\n  iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23);\n  if (iVar11 == 0) {\n    return iVar15;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00084418. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15);\n  return iVar7;\n}" primitive_type (function_declarator "FUN_00083390(code ******param_1,code *******param_2,code *******param_3,code *******param_4)" identifier (parameter_list "(code ******param_1,code *******param_2,code *******param_3,code *******param_4)" ( (parameter_declaration "code ******param_1" type_identifier (pointer_declarator "******param_1" * (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * 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  code *pcVar1;\n  byte bVar2;\n  bool bVar3;\n  undefined *puVar4;\n  code *pcVar5;\n  code *pcVar6;\n  int iVar7;\n  code *****pppppcVar8;\n  code *******pppppppcVar9;\n  code ****ppppcVar10;\n  int iVar11;\n  code *****pppppcVar12;\n  code *******pppppppcVar13;\n  code ****ppppcVar14;\n  int iVar15;\n  code ****ppppcVar16;\n  code ******ppppppcVar17;\n  code ******ppppppcVar18;\n  code *******pppppppcVar19;\n  code ****ppppcVar20;\n  uint uVar21;\n  code *******pppppppcVar22;\n  undefined4 *puVar23;\n  code ****ppppcVar24;\n  code ****ppppcVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code *******unaff_s0;\n  uint *puVar28;\n  undefined *unaff_s1;\n  int iVar29;\n  code *******unaff_s2;\n  code *******unaff_s3;\n  code *****pppppcVar30;\n  int iVar31;\n  code *******unaff_s4;\n  code *******pppppppcVar32;\n  code *******unaff_s5;\n  int *piVar33;\n  int iVar34;\n  code *****unaff_s7;\n  float *pfVar35;\n  undefined *puVar36;\n  int iVar37;\n  undefined4 uVar38;\n  float fVar39;\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  byte bStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  int iStack_164;\n  uint *puStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  int iStack_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  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0015ca30;\n  puVar36 = PTR_s_LE_FTS4_0015c5f4;\n  pppppcVar12 = param_1[5];\n  local_2c = *(int *)PTR___stack_chk_guard_0015ca30;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar18 = param_1;\n    pppppppcVar19 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }\n  }\nLAB_00083534:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  pcVar5 = FUN_000836fc;\n  puVar36 = PTR___stack_chk_fail_0015ca14;\n  (*(code *)PTR___stack_chk_fail_0015ca14)();\n  puStack_120 = puVar36 + 0xe0eb4;\n  puVar28 = *(uint **)(puVar36 + 0xd9334);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*puVar28;\n  pppppppcVar9 = param_3;\n  pppppppcVar32 = 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 = pcVar5;\n  if (pppppppcVar19 == (code *******)0x0) {\nLAB_00083750:\n    iVar7 = 0;\n    ppppppcVar18 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*puVar28) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(puStack_120 + -0x7b9c);\n  uVar38 = 0x84008;\n  ppppppcVar17 = ppppppcStack_94;\n  (*pcVar5)();\n  uVar21 = 0;\n  puVar23 = (undefined4 *)&DAT_000001f8;\n  piVar33 = *(int **)(pcVar5 + 0xd8a28);\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 = *piVar33;\n  puStack_160 = puVar28;\n  pppppppcStack_15c = pppppppcVar19;\n  pppppppcStack_158 = unaff_s2;\n  iStack_154 = iVar7;\n  pppppppcStack_150 = pppppppcVar32;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar18;\n  uStack_13c = uVar38;\n  (**(code **)(pcVar5 + 0xd89b0))(auStack_360);\n  ppppppcVar18 = *pppppppcVar9;\n  bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18);\n  if (bStack_34c - 1 < 5) {\n    bStack_34b = bStack_34c << 1;\n    bStack_349 = (bStack_34c + 1) * '\b';\n    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);\n    ppppppcVar18 = pppppppcVar9[1];\n    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);\n    if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }\n  }\n  iVar7 = *piVar33;\n  if (iStack_164 == iVar7) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(pcVar5 + 0xd8a0c);\n  (*pcVar5)();\n  iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23);\n  if (iVar7 == 5) {\n    return 5;\n  }\n  iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18);\n  if (iVar7 == 0) {\n    return 0;\n  }\n  iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18);\n  iVar15 = *(int *)(iVar7 + 0xc);\n  *(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c);\n  if (iVar15 != 0) {\n    if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    (*pcVar6)(iVar7,iVar11,uVar38);\n  }\nLAB_000843cc:\n  iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);\n  iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23);\n  if (iVar11 == 0) {\n    return iVar15;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00084418. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15);\n  return iVar7;\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "code *****pppppcVar8;" type_identifier (pointer_declarator "*****pppppcVar8" * (pointer_declarator "****pppppcVar8" * (pointer_declarator "***pppppcVar8" * (pointer_declarator "**pppppcVar8" * (pointer_declarator "*pppppcVar8" * identifier))))) ;) (declaration "code *******pppppppcVar9;" type_identifier (pointer_declarator "*******pppppppcVar9" * (pointer_declarator "******pppppppcVar9" * (pointer_declarator "*****pppppppcVar9" * (pointer_declarator "****pppppppcVar9" * (pointer_declarator "***pppppppcVar9" * (pointer_declarator "**pppppppcVar9" * (pointer_declarator "*pppppppcVar9" * identifier))))))) ;) (declaration "code ****ppppcVar10;" type_identifier (pointer_declarator "****ppppcVar10" * (pointer_declarator "***ppppcVar10" * (pointer_declarator "**ppppcVar10" * (pointer_declarator "*ppppcVar10" * identifier)))) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "code *****pppppcVar12;" type_identifier (pointer_declarator "*****pppppcVar12" * (pointer_declarator "****pppppcVar12" * (pointer_declarator "***pppppcVar12" * (pointer_declarator "**pppppcVar12" * (pointer_declarator "*pppppcVar12" * identifier))))) ;) (declaration "code *******pppppppcVar13;" type_identifier (pointer_declarator "*******pppppppcVar13" * (pointer_declarator "******pppppppcVar13" * (pointer_declarator "*****pppppppcVar13" * (pointer_declarator "****pppppppcVar13" * (pointer_declarator "***pppppppcVar13" * (pointer_declarator "**pppppppcVar13" * (pointer_declarator "*pppppppcVar13" * identifier))))))) ;) (declaration "code ****ppppcVar14;" type_identifier (pointer_declarator "****ppppcVar14" * (pointer_declarator "***ppppcVar14" * (pointer_declarator "**ppppcVar14" * (pointer_declarator "*ppppcVar14" * identifier)))) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "code ****ppppcVar16;" type_identifier (pointer_declarator "****ppppcVar16" * (pointer_declarator "***ppppcVar16" * (pointer_declarator "**ppppcVar16" * (pointer_declarator "*ppppcVar16" * identifier)))) ;) (declaration "code ******ppppppcVar17;" type_identifier (pointer_declarator "******ppppppcVar17" * (pointer_declarator "*****ppppppcVar17" * (pointer_declarator "****ppppppcVar17" * (pointer_declarator "***ppppppcVar17" * (pointer_declarator "**ppppppcVar17" * (pointer_declarator "*ppppppcVar17" * identifier)))))) ;) (declaration "code ******ppppppcVar18;" type_identifier (pointer_declarator "******ppppppcVar18" * (pointer_declarator "*****ppppppcVar18" * (pointer_declarator "****ppppppcVar18" * (pointer_declarator "***ppppppcVar18" * (pointer_declarator "**ppppppcVar18" * (pointer_declarator "*ppppppcVar18" * identifier)))))) ;) (declaration "code *******pppppppcVar19;" type_identifier (pointer_declarator "*******pppppppcVar19" * (pointer_declarator "******pppppppcVar19" * (pointer_declarator "*****pppppppcVar19" * (pointer_declarator "****pppppppcVar19" * (pointer_declarator "***pppppppcVar19" * (pointer_declarator "**pppppppcVar19" * (pointer_declarator "*pppppppcVar19" * identifier))))))) ;) (declaration "code ****ppppcVar20;" type_identifier (pointer_declarator "****ppppcVar20" * (pointer_declarator "***ppppcVar20" * (pointer_declarator "**ppppcVar20" * (pointer_declarator "*ppppcVar20" * identifier)))) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "code *******pppppppcVar22;" type_identifier (pointer_declarator "*******pppppppcVar22" * (pointer_declarator "******pppppppcVar22" * (pointer_declarator "*****pppppppcVar22" * (pointer_declarator "****pppppppcVar22" * (pointer_declarator "***pppppppcVar22" * (pointer_declarator "**pppppppcVar22" * (pointer_declarator "*pppppppcVar22" * identifier))))))) ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "code ****ppppcVar24;" type_identifier (pointer_declarator "****ppppcVar24" * (pointer_declarator "***ppppcVar24" * (pointer_declarator "**ppppcVar24" * (pointer_declarator "*ppppcVar24" * identifier)))) ;) (declaration "code ****ppppcVar25;" type_identifier (pointer_declarator "****ppppcVar25" * (pointer_declarator "***ppppcVar25" * (pointer_declarator "**ppppcVar25" * (pointer_declarator "*ppppcVar25" * 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 *******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 "uint *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "undefined *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int iVar29;" primitive_type 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 "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 *****pppppcVar30;" type_identifier (pointer_declarator "*****pppppcVar30" * (pointer_declarator "****pppppcVar30" * (pointer_declarator "***pppppcVar30" * (pointer_declarator "**pppppcVar30" * (pointer_declarator "*pppppcVar30" * identifier))))) ;) (declaration "int iVar31;" primitive_type 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 *******pppppppcVar32;" type_identifier (pointer_declarator "*******pppppppcVar32" * (pointer_declarator "******pppppppcVar32" * (pointer_declarator "*****pppppppcVar32" * (pointer_declarator "****pppppppcVar32" * (pointer_declarator "***pppppppcVar32" * (pointer_declarator "**pppppppcVar32" * (pointer_declarator "*pppppppcVar32" * 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 *piVar33;" primitive_type (pointer_declarator "*piVar33" * identifier) ;) (declaration "int iVar34;" primitive_type 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 *pfVar35;" primitive_type (pointer_declarator "*pfVar35" * identifier) ;) (declaration "undefined *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "int iVar37;" primitive_type identifier ;) (declaration "undefined4 uVar38;" type_identifier identifier ;) (declaration "float fVar39;" 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 "byte bStack_34c;" type_identifier identifier ;) (declaration "byte bStack_34b;" type_identifier identifier ;) (declaration "byte bStack_349;" type_identifier identifier ;) (declaration "int iStack_164;" primitive_type identifier ;) (declaration "uint *puStack_160;" type_identifier (pointer_declarator "*puStack_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 "int iStack_154;" primitive_type 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 "int local_2c;" primitive_type identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_0015ca30;" (assignment_expression "puVar4 = PTR___stack_chk_guard_0015ca30" identifier = identifier) ;) (expression_statement "puVar36 = PTR_s_LE_FTS4_0015c5f4;" (assignment_expression "puVar36 = PTR_s_LE_FTS4_0015c5f4" identifier = identifier) ;) (expression_statement "pppppcVar12 = param_1[5];" (assignment_expression "pppppcVar12 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0015ca30;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0015ca30" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0015ca30" * (cast_expression "(int *)PTR___stack_chk_guard_0015ca30" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar18 = param_1;\n    pppppppcVar19 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\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    ppppppcVar18 = param_1;\n    pppppppcVar19 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }" { (expression_statement "ppppppcVar18 = param_1;" (assignment_expression "ppppppcVar18 = param_1" identifier = identifier) ;) (expression_statement "pppppppcVar19 = param_2;" (assignment_expression "pppppppcVar19 = 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_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\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_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }" { (labeled_statement "LAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }" statement_identifier : (if_statement "if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\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_LE_FTS4_0015c5f4 + -0x7894);\n      }" { (expression_statement "param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);" (assignment_expression "param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894)" identifier = (cast_expression "(code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894)" ( (type_descriptor "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_LE_FTS4_0015c5f4 + -0x7894)" ( (binary_expression "PTR_s_LE_FTS4_0015c5f4 + -0x7894" identifier + number_literal) )))) ;) }) (else_clause "else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }" else (compound_statement "{\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }" { (expression_statement "param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);" (assignment_expression "param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0)" identifier = (cast_expression "(code *******)(PTR_LAB_0015c5e8 + 0x79d0)" ( (type_descriptor "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_0015c5e8 + 0x79d0)" ( (binary_expression "PTR_LAB_0015c5e8 + 0x79d0" identifier + number_literal) )))) ;) })))) (expression_statement "pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);" (assignment_expression "pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c)" identifier = (cast_expression "(code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c)" ( (type_descriptor "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_LE_FTS4_0015c5f4 + -0x783c)" ( (binary_expression "PTR_s_LE_FTS4_0015c5f4 + -0x783c" identifier + number_literal) )))) ;) (expression_statement "ppppppcVar18 = param_1;" (assignment_expression "ppppppcVar18 = param_1" identifier = identifier) ;) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" identifier = identifier) ;) (expression_statement "FUN_00083088();" (call_expression "FUN_00083088()" 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_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }\n  }" else (compound_statement "{\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }\n  }" { (expression_statement "unaff_s1 = PTR_LAB_0015c718 + 0x31a0;" (assignment_expression "unaff_s1 = PTR_LAB_0015c718 + 0x31a0" identifier = (binary_expression "PTR_LAB_0015c718 + 0x31a0" identifier + number_literal)) ;) (expression_statement "unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);" (assignment_expression "unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248)" identifier = (cast_expression "(code *******)(PTR_LAB_0015c718 + 0x3248)" ( (type_descriptor "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_0015c718 + 0x3248)" ( (binary_expression "PTR_LAB_0015c718 + 0x3248" identifier + number_literal) )))) ;) (expression_statement "pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);" (assignment_expression "pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c)" identifier = (cast_expression "(code *)(PTR_LAB_0015c66c + -0x138c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015c66c + -0x138c)" ( (binary_expression "PTR_LAB_0015c66c + -0x138c" identifier + number_literal) )))) ;) (expression_statement "pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);" (assignment_expression "pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088)" identifier = (cast_expression "(code *)(PTR_LAB_0015c718 + 0x3088)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015c718 + 0x3088)" ( (binary_expression "PTR_LAB_0015c718 + 0x3088" identifier + number_literal) )))) ;) (expression_statement "unaff_s0 = param_3;" (assignment_expression "unaff_s0 = param_3" identifier = identifier) ;) (expression_statement "pppppppcVar9 = param_4;" (assignment_expression "pppppppcVar9 = param_4" identifier = identifier) ;) (expression_statement "unaff_s3 = unaff_s4;" (assignment_expression "unaff_s3 = unaff_s4" identifier = identifier) ;) (while_statement "while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }" while (parenthesized_expression "(ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0)" ( (comma_expression "ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0" (assignment_expression "ppppppcVar18 = param_1" identifier = identifier) , (comma_expression "pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0" (assignment_expression "pppppppcVar19 = unaff_s0" identifier = identifier) , (comma_expression "iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0" (assignment_expression "iVar7 = FUN_000831a0()" identifier = (call_expression "FUN_000831a0()" identifier (argument_list "()" ( )))) , (comma_expression "pppppppcStack_80 = unaff_s3, iVar7 == 0" (assignment_expression "pppppppcStack_80 = unaff_s3" identifier = identifier) , (binary_expression "iVar7 == 0" identifier == number_literal))))) )) (compound_statement "{\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\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)pppppppcVar9 + -1);" (assignment_expression "unaff_s3 = (code *******)((int)pppppppcVar9 + -1)" identifier = (cast_expression "(code *******)((int)pppppppcVar9 + -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)pppppppcVar9 + -1)" ( (binary_expression "(int)pppppppcVar9 + -1" (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);" (assignment_expression "iVar7 = (*(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 (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }" { (expression_statement "pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);" (assignment_expression "pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c)" identifier = (cast_expression "(code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c)" ( (type_descriptor "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_LE_FTS4_0015c5f4 + -0x787c)" ( (binary_expression "PTR_s_LE_FTS4_0015c5f4 + -0x787c" identifier + number_literal) )))) ;) (expression_statement "ppppppcVar18 = param_1;" (assignment_expression "ppppppcVar18 = param_1" identifier = identifier) ;) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" identifier = identifier) ;) (expression_statement "FUN_00083088();" (call_expression "FUN_00083088()" identifier (argument_list "()" ( ))) ;) (if_statement "if (unaff_s3 == (code *******)0x0) goto LAB_00083534;" 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_00083534;" goto statement_identifier ;)) (expression_statement "pppppcVar8 = param_1[5];" (assignment_expression "pppppcVar8 = 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_00083658;" goto statement_identifier ;) })) (expression_statement "pppppppcVar19 = (code *******)*param_1;" (assignment_expression "pppppppcVar19 = (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 "pcVar1 = (code *)((int)pppppppcVar19 + 0x11);" (assignment_expression "pcVar1 = (code *)((int)pppppppcVar19 + 0x11)" identifier = (cast_expression "(code *)((int)pppppppcVar19 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar19 + 0x11)" ( (binary_expression "(int)pppppppcVar19 + 0x11" (cast_expression "(int)pppppppcVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\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        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }" { (expression_statement "pppppppcVar19 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar19 = (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 "pppppppcVar32 = pppppppcVar19;" (assignment_expression "pppppppcVar32 = pppppppcVar19" identifier = identifier) ;) (expression_statement "pppppppcVar9 = unaff_s3;" (assignment_expression "pppppppcVar9 = unaff_s3" identifier = identifier) ;) (if_statement "if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }" if (parenthesized_expression "((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0))" ( (binary_expression "(*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)" (parenthesized_expression "(*pcVar1 != (code)0x0)" ( (binary_expression "*pcVar1 != (code)0x0" (pointer_expression "*pcVar1" * 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_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }" { (expression_statement "FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);" (call_expression "FUN_00083248(param_1,pppppppcVar19,4,unaff_s0)" identifier (argument_list "(param_1,pppppppcVar19,4,unaff_s0)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "pppppppcVar32 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar32 = (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_00083488;" goto statement_identifier ;) })) (labeled_statement "LAB_00083518:\n        ppppppcVar18 = local_30;" statement_identifier : (expression_statement "ppppppcVar18 = local_30;" (assignment_expression "ppppppcVar18 = local_30" identifier = identifier) ;)) (expression_statement "(*pcVar5)();" (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s0 = pppppppcVar32;" (assignment_expression "unaff_s0 = pppppppcVar32" identifier = identifier) ;) }) (else_clause "else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }" else (compound_statement "{\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\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 (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }" if (parenthesized_expression "(*pcVar1 != (code)0x0)" ( (binary_expression "*pcVar1 != (code)0x0" (pointer_expression "*pcVar1" * identifier) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }" { (expression_statement "param_3 = (code *******)&SUB_00000002;" (assignment_expression "param_3 = (code *******)&SUB_00000002" identifier = (cast_expression "(code *******)&SUB_00000002" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "FUN_00083248(param_1,unaff_s0,2,0);" (call_expression "FUN_00083248(param_1,unaff_s0,2,0)" identifier (argument_list "(param_1,unaff_s0,2,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "pppppppcVar19 = (code *******)*param_1;" (assignment_expression "pppppppcVar19 = (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)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" if (parenthesized_expression "((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2)" ( (binary_expression "(code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2" (cast_expression "(code *******)(((uint)pppppppcVar19[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)pppppppcVar19[9] >> 2) - 2)" ( (binary_expression "((uint)pppppppcVar19[9] >> 2) - 2" (parenthesized_expression "((uint)pppppppcVar19[9] >> 2)" ( (binary_expression "(uint)pppppppcVar19[9] >> 2" (cast_expression "(uint)pppppppcVar19[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppppcVar19[9]" identifier [ number_literal ])) >> number_literal) )) - number_literal) ))) < identifier) )) (compound_statement "{\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }" { (expression_statement "pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);" (assignment_expression "pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2)" identifier = (cast_expression "(code *******)((int)pppppppcVar9 + -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)pppppppcVar9 + -2)" ( (binary_expression "(int)pppppppcVar9 + -2" (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppcVar19 = (code *******)(puVar36 + -0x7864);" (assignment_expression "pppppppcVar19 = (code *******)(puVar36 + -0x7864)" identifier = (cast_expression "(code *******)(puVar36 + -0x7864)" ( (type_descriptor "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 "(puVar36 + -0x7864)" ( (binary_expression "puVar36 + -0x7864" identifier + number_literal) )))) ;) (expression_statement "(*pcVar6)(param_1);" (call_expression "(*pcVar6)(param_1)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pppppppcVar32 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar32 = (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            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" else (compound_statement "{\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" { (if_statement "if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (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            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }" { (expression_statement "pppppcVar30 = unaff_s7 + 2;" (assignment_expression "pppppcVar30 = unaff_s7 + 2" identifier = (binary_expression "unaff_s7 + 2" identifier + number_literal)) ;) (expression_statement "pppppcVar8 = pppppcVar30 + (int)unaff_s2;" (assignment_expression "pppppcVar8 = pppppcVar30 + (int)unaff_s2" identifier = (binary_expression "pppppcVar30 + (int)unaff_s2" identifier + (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (while_statement "while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }" { (expression_statement "pppppppcVar9 = (code *******)*pppppcVar30;" (assignment_expression "pppppppcVar9 = (code *******)*pppppcVar30" identifier = (cast_expression "(code *******)*pppppcVar30" ( (type_descriptor "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 "*pppppcVar30" * identifier))) ;) (if_statement "if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }" if (parenthesized_expression "(*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar19 + 0x11)" * (cast_expression "(code *)((int)pppppppcVar19 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar19 + 0x11)" ( (binary_expression "(int)pppppppcVar19 + 0x11" (cast_expression "(int)pppppppcVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }" { (expression_statement "FUN_000831a0(param_1);" (call_expression "FUN_000831a0(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pppppppcVar19 = pppppppcVar9;" (assignment_expression "pppppppcVar19 = pppppppcVar9" identifier = identifier) ;) }) (else_clause "else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }" else (compound_statement "{\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }" { (expression_statement "param_3 = (code *******)&SUB_00000002;" (assignment_expression "param_3 = (code *******)&SUB_00000002" identifier = (cast_expression "(code *******)&SUB_00000002" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "FUN_00083248(param_1,pppppppcVar9,2,0);" (call_expression "FUN_00083248(param_1,pppppppcVar9,2,0)" identifier (argument_list "(param_1,pppppppcVar9,2,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_000831a0(param_1);" (call_expression "FUN_000831a0(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pppppppcVar19 = pppppppcVar9;" (assignment_expression "pppppppcVar19 = pppppppcVar9" identifier = identifier) ;) }))) (if_statement "if (pppppcVar30 + 1 == pppppcVar8) break;" if (parenthesized_expression "(pppppcVar30 + 1 == pppppcVar8)" ( (binary_expression "pppppcVar30 + 1 == pppppcVar8" (binary_expression "pppppcVar30 + 1" identifier + number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "pppppcVar30 = pppppcVar30 + 1;" (assignment_expression "pppppcVar30 = pppppcVar30 + 1" identifier = (binary_expression "pppppcVar30 + 1" identifier + number_literal)) ;) (expression_statement "pppppppcVar19 = (code *******)*param_1;" (assignment_expression "pppppppcVar19 = (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 "pppppppcVar32 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar32 = (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 "pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);" (assignment_expression "pppppppcVar9 = (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_00083488:\n        unaff_s0 = pppppppcVar32;" statement_identifier : (expression_statement "unaff_s0 = pppppppcVar32;" (assignment_expression "unaff_s0 = pppppppcVar32" identifier = identifier) ;)) (expression_statement "ppppppcVar18 = local_30;" (assignment_expression "ppppppcVar18 = local_30" identifier = identifier) ;) (if_statement "if (local_30 != (code ******)0x0) goto LAB_00083518;" 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_00083518;" 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 = pppppppcVar9;" (assignment_expression "unaff_s3 = pppppppcVar9" identifier = identifier) ;) (if_statement "if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }" if (parenthesized_expression "(pppppppcVar9 != (code *******)0x0)" ( (binary_expression "pppppppcVar9 != (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      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }" { (expression_statement "pppppcVar8 = param_1[5];" (assignment_expression "pppppcVar8 = 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_00083658:\n      pppppppcStack_80 = unaff_s4;" statement_identifier : (expression_statement "pppppppcStack_80 = unaff_s4;" (assignment_expression "pppppppcStack_80 = unaff_s4" identifier = identifier) ;)) (if_statement "if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;" if (parenthesized_expression "(pppppcVar8 == pppppcVar12)" ( (binary_expression "pppppcVar8 == pppppcVar12" identifier == identifier) )) (goto_statement "goto LAB_0008366c;" goto statement_identifier ;)) })) }))) (labeled_statement "LAB_00083534:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar4)" ( (binary_expression "local_2c == *(int *)puVar4" identifier == (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return *(int *)puVar4;\n  }" { (return_statement "return *(int *)puVar4;" return (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "pcVar5 = FUN_000836fc;" (assignment_expression "pcVar5 = FUN_000836fc" identifier = identifier) ;) (expression_statement "puVar36 = PTR___stack_chk_fail_0015ca14;" (assignment_expression "puVar36 = PTR___stack_chk_fail_0015ca14" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ca14)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ca14)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ca14)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ca14" * (cast_expression "(code *)PTR___stack_chk_fail_0015ca14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_120 = puVar36 + 0xe0eb4;" (assignment_expression "puStack_120 = puVar36 + 0xe0eb4" identifier = (binary_expression "puVar36 + 0xe0eb4" identifier + number_literal)) ;) (expression_statement "puVar28 = *(uint **)(puVar36 + 0xd9334);" (assignment_expression "puVar28 = *(uint **)(puVar36 + 0xd9334)" identifier = (pointer_expression "*(uint **)(puVar36 + 0xd9334)" * (cast_expression "(uint **)(puVar36 + 0xd9334)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0xd9334)" ( (binary_expression "puVar36 + 0xd9334" 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 ******)*puVar28;" (assignment_expression "ppppppcStack_94 = (code ******)*puVar28" identifier = (cast_expression "(code ******)*puVar28" ( (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 "*puVar28" * identifier))) ;) (expression_statement "pppppppcVar9 = param_3;" (assignment_expression "pppppppcVar9 = param_3" identifier = identifier) ;) (expression_statement "pppppppcVar32 = pppppppcStack_80;" (assignment_expression "pppppppcVar32 = 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 = pcVar5;" (assignment_expression "pcStack_6c = pcVar5" identifier = identifier) ;) (if_statement "if (pppppppcVar19 == (code *******)0x0) {\nLAB_00083750:\n    iVar7 = 0;\n    ppppppcVar18 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }" if (parenthesized_expression "(pppppppcVar19 == (code *******)0x0)" ( (binary_expression "pppppppcVar19 == (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_00083750:\n    iVar7 = 0;\n    ppppppcVar18 = param_1;\n  }" { (labeled_statement "LAB_00083750:\n    iVar7 = 0;" statement_identifier : (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;)) (expression_statement "ppppppcVar18 = param_1;" (assignment_expression "ppppppcVar18 = param_1" identifier = identifier) ;) }) (else_clause "else {\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }" else (compound_statement "{\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }" { (expression_statement "pppppcStack_114 = ppppppcVar18[7];" (assignment_expression "pppppcStack_114 = ppppppcVar18[7]" identifier = (subscript_expression "ppppppcVar18[7]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar32 = (code *******)*ppppppcVar18;" (assignment_expression "pppppppcVar32 = (code *******)*ppppppcVar18" identifier = (cast_expression "(code *******)*ppppppcVar18" ( (type_descriptor "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 "*ppppppcVar18" * identifier))) ;) (expression_statement "pppppcStack_110 = ppppppcVar18[8];" (assignment_expression "pppppcStack_110 = ppppppcVar18[8]" identifier = (subscript_expression "ppppppcVar18[8]" identifier [ number_literal ])) ;) (expression_statement "pppppcStack_10c = ppppppcVar18[9];" (assignment_expression "pppppcStack_10c = ppppppcVar18[9]" identifier = (subscript_expression "ppppppcVar18[9]" identifier [ number_literal ])) ;) (expression_statement "ppppppcStack_118 = pppppppcVar32[9];" (assignment_expression "ppppppcStack_118 = pppppppcVar32[9]" identifier = (subscript_expression "pppppppcVar32[9]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = FUN_000831a0();" (assignment_expression "iVar7 = FUN_000831a0()" identifier = (call_expression "FUN_000831a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "unaff_s5 = param_3;" (assignment_expression "unaff_s5 = param_3" identifier = identifier) ;) (expression_statement "param_1 = ppppppcVar18;" (assignment_expression "param_1 = ppppppcVar18" identifier = identifier) ;) (if_statement "if (iVar7 != 0) goto LAB_00083750;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00083750;" goto statement_identifier ;)) (expression_statement "iVar7 = *(int *)(puStack_120 + -0x7fbc);" (assignment_expression "iVar7 = *(int *)(puStack_120 + -0x7fbc)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(puStack_120 + -0x7f44);" (assignment_expression "iVar11 = *(int *)(puStack_120 + -0x7f44)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7f44)" * (cast_expression "(int *)(puStack_120 + -0x7f44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7f44)" ( (binary_expression "puStack_120 + -0x7f44" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar18[8] = (code *****)pppppppcVar19;" (assignment_expression "ppppppcVar18[8] = (code *****)pppppppcVar19" (subscript_expression "ppppppcVar18[8]" identifier [ number_literal ]) = (cast_expression "(code *****)pppppppcVar19" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);" (assignment_expression "ppppppcVar18[7] = (code *****)(iVar7 + -0x7820)" (subscript_expression "ppppppcVar18[7]" identifier [ number_literal ]) = (cast_expression "(code *****)(iVar7 + -0x7820)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar7 + -0x7820)" ( (binary_expression "iVar7 + -0x7820" identifier + number_literal) )))) ;) (expression_statement "pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);" (assignment_expression "pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0)" identifier = (cast_expression "(code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&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 *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0)" (parenthesized_expression "(*(code *)(iVar11 + -0xe54))" ( (pointer_expression "*(code *)(iVar11 + -0xe54)" * (cast_expression "(code *)(iVar11 + -0xe54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + -0xe54)" ( (binary_expression "iVar11 + -0xe54" identifier + number_literal) )))) )) (argument_list "(pppppppcVar32,pppppppcVar19,&pbStack_b4,0)" ( identifier , identifier , (pointer_expression "&pbStack_b4" & identifier) , number_literal ))))) ;) (if_statement "if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }" if (parenthesized_expression "(pppppppcVar9 == (code *******)0x0)" ( (binary_expression "pppppppcVar9 == (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_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\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_000695f8(pbStack_b4);" (assignment_expression "pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4)" identifier = (cast_expression "(code *******)FUN_000695f8(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_000695f8(pbStack_b4)" identifier (argument_list "(pbStack_b4)" ( identifier ))))) ;) (if_statement "if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\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        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }" { (expression_statement "iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;" (assignment_expression "iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec" identifier = (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x77ec" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pppppppcVar9 = pppppppcStack_dc;" (assignment_expression "pppppppcVar9 = pppppppcStack_dc" identifier = identifier) ;) (goto_statement "goto LAB_00083b74;" 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 "bVar2 = pbStack_b4[9];" (assignment_expression "bVar2 = pbStack_b4[9]" identifier = (subscript_expression "pbStack_b4[9]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);" (assignment_expression "ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4)" (subscript_expression "ppppppcVar18[7]" identifier [ number_literal ]) = (cast_expression "(code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4)" ( (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 + -0x7fbc) + -0x77c4)" ( (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x77c4" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);" (assignment_expression "pcStack_d4 = (code *)((int)param_2 + (uint)bVar2)" identifier = (cast_expression "(code *)((int)param_2 + (uint)bVar2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + (uint)bVar2)" ( (binary_expression "(int)param_2 + (uint)bVar2" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;" (assignment_expression "iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4" identifier = (binary_expression "bVar2 + 0xc + (uint)pbStack_b4[8] * -4" (binary_expression "bVar2 + 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 "pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);" (assignment_expression "pppppppcVar9 = (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)pppppppcVar9 & 0xffff);" (assignment_expression "ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 0xffff)" identifier = (cast_expression "(code ****)((uint)pppppppcVar9 & 0xffff)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)pppppppcVar9 & 0xffff)" ( (binary_expression "(uint)pppppppcVar9 & 0xffff" (cast_expression "(uint)pppppppcVar9" ( (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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }" { (expression_statement "uVar38 = *(undefined4 *)(pcStack_d4 + 8);" (assignment_expression "uVar38 = *(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)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }" if (parenthesized_expression "(*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar32 + 0x11)" * (cast_expression "(code *)((int)pppppppcVar32 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar32 + 0x11)" ( (binary_expression "(int)pppppppcVar32 + 0x11" (cast_expression "(int)pppppppcVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }" { (expression_statement "ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);" (assignment_expression "ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8)" (subscript_expression "ppppppcVar18[7]" identifier [ number_literal ]) = (cast_expression "(code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8)" ( (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 + -0x7fbc) + -0x77a8)" ( (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x77a8" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);" (call_expression "FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19)" identifier (argument_list "(ppppppcVar18,uVar38,5,pppppppcVar19)" ( identifier , identifier , number_literal , identifier ))) ;) })) (expression_statement "pppppppcVar9 = (code *******)&local_58;" (assignment_expression "pppppppcVar9 = (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_000836fc(ppppppcVar18,uVar38);" (assignment_expression "iStack_108 = FUN_000836fc(ppppppcVar18,uVar38)" identifier = (call_expression "FUN_000836fc(ppppppcVar18,uVar38)" identifier (argument_list "(ppppppcVar18,uVar38)" ( identifier , identifier )))) ;) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" else (compound_statement "{\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" { (expression_statement "unaff_s7 = ppppppcVar18[0x10];" (assignment_expression "unaff_s7 = ppppppcVar18[0x10]" identifier = (subscript_expression "ppppppcVar18[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 "pppppppcVar22 = pppppppcStack_d8;" (assignment_expression "pppppppcVar22 = 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) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" if (parenthesized_expression "((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0))" ( (binary_expression "(pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[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 "(ppppppcVar18[4] == (code *****)0x0)" ( (binary_expression "ppppppcVar18[4] == (code *****)0x0" (subscript_expression "ppppppcVar18[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        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }" { (expression_statement "iVar7 = iStack_108 + 1;" (assignment_expression "iVar7 = iStack_108 + 1" identifier = (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 "ppppppcVar18[7] = (code *****)0x0;" (assignment_expression "ppppppcVar18[7] = (code *****)0x0" (subscript_expression "ppppppcVar18[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_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }" statement_identifier : (if_statement "if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }" if (parenthesized_expression "(0 < (int)ppppppcVar18[4])" ( (binary_expression "0 < (int)ppppppcVar18[4]" number_literal < (cast_expression "(int)ppppppcVar18[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar18[4]" identifier [ number_literal ]))) )) (compound_statement "{\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }" { (if_statement "if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\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 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }" { (expression_statement "unaff_s7 = ppppppcVar18[0x10];" (assignment_expression "unaff_s7 = ppppppcVar18[0x10]" identifier = (subscript_expression "ppppppcVar18[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 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\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 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }" { (expression_statement "unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);" (assignment_expression "unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" identifier = (cast_expression "(code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" ( (type_descriptor "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 + -0x7f44) + -0xb3c)" ( (binary_expression "*(int *)(puStack_120 + -0x7f44) + -0xb3c" (pointer_expression "*(int *)(puStack_120 + -0x7f44)" * (cast_expression "(int *)(puStack_120 + -0x7f44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7f44)" ( (binary_expression "puStack_120 + -0x7f44" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar11 = iStack_c4 + -2;" (assignment_expression "iVar11 = iStack_c4 + -2" identifier = (binary_expression "iStack_c4 + -2" identifier + number_literal)) ;) (expression_statement "pcVar5 = pcStack_e4;" (assignment_expression "pcVar5 = pcStack_e4" identifier = identifier) ;) (expression_statement "pppppppcStack_64 = pppppppcVar19;" (assignment_expression "pppppppcStack_64 = pppppppcVar19" identifier = identifier) ;) (do_statement "do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);" do (compound_statement "{\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              }" { (expression_statement "pcVar6 = pcVar5 + -2;" (assignment_expression "pcVar6 = pcVar5 + -2" identifier = (binary_expression "pcVar5 + -2" identifier + number_literal)) ;) (expression_statement "uVar21 = (uint)*(ushort *)pcVar5;" (assignment_expression "uVar21 = (uint)*(ushort *)pcVar5" identifier = (binary_expression "(uint)*(ushort *)pcVar5" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)pcVar5" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));" (assignment_expression "iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21))" identifier = (call_expression "(**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21))" (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 + uVar21))" ( identifier , (cast_expression "(code *)((int)param_2 + uVar21)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + uVar21)" ( (binary_expression "(int)param_2 + uVar21" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) )))) ;) (expression_statement "pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);" (assignment_expression "pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21)" identifier = (cast_expression "(code *******)(iVar15 + -1 + uVar21)" ( (type_descriptor "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 "(iVar15 + -1 + uVar21)" ( (binary_expression "iVar15 + -1 + uVar21" (binary_expression "iVar15 + -1" identifier + number_literal) + identifier) )))) ;) (expression_statement "(*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);" (call_expression "(*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 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)pppppppcVar32 | uVar21 << 0x10)" ( identifier , (binary_expression "(uint)pppppppcVar32 | uVar21 << 0x10" (cast_expression "(uint)pppppppcVar32" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "uVar21 << 0x10" identifier << number_literal)) ))) ;) (expression_statement "pcVar5 = pcVar6;" (assignment_expression "pcVar5 = pcVar6" identifier = identifier) ;) (expression_statement "pppppppcVar19 = pppppppcStack_64;" (assignment_expression "pppppppcVar19 = pppppppcStack_64" identifier = identifier) ;) }) while (parenthesized_expression "((code *)((int)param_2 + iVar11) != pcVar6)" ( (binary_expression "(code *)((int)param_2 + iVar11) != pcVar6" (cast_expression "(code *)((int)param_2 + iVar11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + iVar11)" ( (binary_expression "(int)param_2 + iVar11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) != identifier) )) ;) })) })) (expression_statement "uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);" (assignment_expression "uVar21 = (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 + -0x7f44);" (assignment_expression "unaff_s2 = *(code ********)(puStack_120 + -0x7f44)" identifier = (pointer_expression "*(code ********)(puStack_120 + -0x7f44)" * (cast_expression "(code ********)(puStack_120 + -0x7f44)" ( (type_descriptor "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 + -0x7f44)" ( (binary_expression "puStack_120 + -0x7f44" identifier + number_literal) ))))) ;) (if_statement "if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }" if (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) (compound_statement "{\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }" { (expression_statement "unaff_s2 = unaff_s2 + -0x2cf;" (assignment_expression "unaff_s2 = unaff_s2 + -0x2cf" identifier = (binary_expression "unaff_s2 + -0x2cf" identifier + number_literal)) ;) (expression_statement "pppppppcVar9 = unaff_s2;" (assignment_expression "pppppppcVar9 = unaff_s2" identifier = identifier) ;) (do_statement "do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);" do (compound_statement "{\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            }" { (expression_statement "pcVar5 = (code *)((int)param_2 + uVar21);" (assignment_expression "pcVar5 = (code *)((int)param_2 + uVar21)" identifier = (cast_expression "(code *)((int)param_2 + uVar21)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + uVar21)" ( (binary_expression "(int)param_2 + uVar21" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "(*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);" (call_expression "(*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10)" (parenthesized_expression "(*(code *)pppppppcVar9)" ( (pointer_expression "*(code *)pppppppcVar9" * (cast_expression "(code *)pppppppcVar9" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10)" ( identifier , (binary_expression "(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10" (binary_expression "(*(ushort *)(pcVar5 + 2) + uVar21) - 1" (parenthesized_expression "(*(ushort *)(pcVar5 + 2) + uVar21)" ( (binary_expression "*(ushort *)(pcVar5 + 2) + uVar21" (pointer_expression "*(ushort *)(pcVar5 + 2)" * (cast_expression "(ushort *)(pcVar5 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 2)" ( (binary_expression "pcVar5 + 2" identifier + number_literal) )))) + identifier) )) - number_literal) | (binary_expression "uVar21 << 0x10" identifier << number_literal)) ))) ;) (expression_statement "uVar21 = (uint)*(ushort *)pcVar5;" (assignment_expression "uVar21 = (uint)*(ushort *)pcVar5" identifier = (binary_expression "(uint)*(ushort *)pcVar5" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)pcVar5" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) while (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) ;) })) (expression_statement "ppppcVar20 = *unaff_s7;" (assignment_expression "ppppcVar20 = *unaff_s7" identifier = (pointer_expression "*unaff_s7" * identifier)) ;) (expression_statement "pppppppcVar22 = pppppppcStack_dc;" (assignment_expression "pppppppcVar22 = pppppppcStack_dc" identifier = identifier) ;) (expression_statement "ppppcVar26 = ppppcStack_c8;" (assignment_expression "ppppcVar26 = ppppcStack_c8" identifier = identifier) ;) (if_statement "if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }" if (parenthesized_expression "(ppppcVar20 == (code ****)0x0)" ( (binary_expression "ppppcVar20 == (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            pppppppcVar22 = (code *******)0x0;\n          }" { (expression_statement "pppppppcVar22 = (code *******)0x0;" (assignment_expression "pppppppcVar22 = (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              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }" else (compound_statement "{\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }" { (do_statement "do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);" do (compound_statement "{\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            }" { (expression_statement "ppppcVar25 = unaff_s7[1];" (assignment_expression "ppppcVar25 = unaff_s7[1]" identifier = (subscript_expression "unaff_s7[1]" identifier [ number_literal ])) ;) (expression_statement "unaff_s7[1] = unaff_s7[(int)ppppcVar20];" (assignment_expression "unaff_s7[1] = unaff_s7[(int)ppppcVar20]" (subscript_expression "unaff_s7[1]" identifier [ number_literal ]) = (subscript_expression "unaff_s7[(int)ppppcVar20]" identifier [ (cast_expression "(int)ppppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;" (assignment_expression "unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff" (subscript_expression "unaff_s7[(int)ppppcVar20]" identifier [ (cast_expression "(int)ppppcVar20" ( (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 "ppppcVar20 = (code ****)((int)*unaff_s7 - 1);" (assignment_expression "ppppcVar20 = (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 = ppppcVar20;" (assignment_expression "*unaff_s7 = ppppcVar20" (pointer_expression "*unaff_s7" * identifier) = identifier) ;) (if_statement "if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }" if (parenthesized_expression "((code ****)0x1 < ppppcVar20)" ( (binary_expression "(code ****)0x1 < ppppcVar20" (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                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }" { (expression_statement "ppppcVar27 = unaff_s7[1];" (assignment_expression "ppppcVar27 = unaff_s7[1]" identifier = (subscript_expression "unaff_s7[1]" identifier [ number_literal ])) ;) (expression_statement "ppppcVar24 = (code ****)0x2;" (assignment_expression "ppppcVar24 = (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 "ppppcVar10 = (code ****)0x1;" (assignment_expression "ppppcVar10 = (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                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);" do (compound_statement "{\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                }" { (expression_statement "pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);" (assignment_expression "pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U)" identifier = (binary_expression "unaff_s7 + (int)((int)ppppcVar24 + 1U)" identifier + (cast_expression "(int)((int)ppppcVar24 + 1U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)ppppcVar24 + 1U)" ( (binary_expression "(int)ppppcVar24 + 1U" (cast_expression "(int)ppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppppcVar14 = *pppppcVar12;" (assignment_expression "ppppcVar14 = *pppppcVar12" identifier = (pointer_expression "*pppppcVar12" * identifier)) ;) (expression_statement "ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);" (assignment_expression "ppppcVar16 = (code ****)((int)ppppcVar24 + 1U)" identifier = (cast_expression "(code ****)((int)ppppcVar24 + 1U)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppcVar24 + 1U)" ( (binary_expression "(int)ppppcVar24 + 1U" (cast_expression "(int)ppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }" if (parenthesized_expression "(unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14)" ( (binary_expression "unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14" (subscript_expression "unaff_s7[(int)ppppcVar10 * 2]" identifier [ (binary_expression "(int)ppppcVar10 * 2" (cast_expression "(int)ppppcVar10" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]) <= identifier) )) (compound_statement "{\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }" { (expression_statement "pppppcVar12 = unaff_s7 + (int)ppppcVar24;" (assignment_expression "pppppcVar12 = unaff_s7 + (int)ppppcVar24" identifier = (binary_expression "unaff_s7 + (int)ppppcVar24" identifier + (cast_expression "(int)ppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "ppppcVar14 = *pppppcVar12;" (assignment_expression "ppppcVar14 = *pppppcVar12" identifier = (pointer_expression "*pppppcVar12" * identifier)) ;) (expression_statement "ppppcVar16 = ppppcVar24;" (assignment_expression "ppppcVar16 = ppppcVar24" identifier = identifier) ;) })) (if_statement "if (ppppcVar27 < ppppcVar14) break;" if (parenthesized_expression "(ppppcVar27 < ppppcVar14)" ( (binary_expression "ppppcVar27 < ppppcVar14" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "unaff_s7[(int)ppppcVar10] = ppppcVar14;" (assignment_expression "unaff_s7[(int)ppppcVar10] = ppppcVar14" (subscript_expression "unaff_s7[(int)ppppcVar10]" identifier [ (cast_expression "(int)ppppcVar10" ( (type_descriptor "int" primitive_type) ) identifier) ]) = identifier) ;) (expression_statement "ppppcVar24 = (code ****)((int)ppppcVar16 << 1);" (assignment_expression "ppppcVar24 = (code ****)((int)ppppcVar16 << 1)" identifier = (cast_expression "(code ****)((int)ppppcVar16 << 1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppcVar16 << 1)" ( (binary_expression "(int)ppppcVar16 << 1" (cast_expression "(int)ppppcVar16" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "*pppppcVar12 = ppppcVar27;" (assignment_expression "*pppppcVar12 = ppppcVar27" (pointer_expression "*pppppcVar12" * identifier) = identifier) ;) (expression_statement "ppppcVar20 = *unaff_s7;" (assignment_expression "ppppcVar20 = *unaff_s7" identifier = (pointer_expression "*unaff_s7" * identifier)) ;) (expression_statement "ppppcVar10 = ppppcVar16;" (assignment_expression "ppppcVar10 = ppppcVar16" identifier = identifier) ;) }) while (parenthesized_expression "(ppppcVar24 <= ppppcVar20)" ( (binary_expression "ppppcVar24 <= ppppcVar20" identifier <= identifier) )) ;) })) (expression_statement "pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);" (assignment_expression "pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10)" identifier = (cast_expression "(code *******)((uint)ppppcVar25 >> 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)ppppcVar25 >> 0x10)" ( (binary_expression "(uint)ppppcVar25 >> 0x10" (cast_expression "(uint)ppppcVar25" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);" (assignment_expression "unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff)" identifier = (cast_expression "(code *******)((uint)ppppcVar26 & 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)ppppcVar26 & 0xffff)" ( (binary_expression "(uint)ppppcVar26 & 0xffff" (cast_expression "(uint)ppppcVar26" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }" if (parenthesized_expression "(pppppppcVar9 <= unaff_s2)" ( (binary_expression "pppppppcVar9 <= unaff_s2" identifier <= identifier) )) (compound_statement "{\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }" { (expression_statement "pppppppcStack_dc = pppppppcVar22;" (assignment_expression "pppppppcStack_dc = pppppppcVar22" identifier = identifier) ;) (expression_statement "FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);" (call_expression "FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19)" identifier (argument_list "(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x7720" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (if_statement "if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;" 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_00083b8c;" goto statement_identifier ;)) (expression_statement "pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);" (assignment_expression "pppppppcVar9 = (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_00083e5c;" goto statement_identifier ;) })) (expression_statement "pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);" (assignment_expression "pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2)" identifier = (cast_expression "(code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(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)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2)" ( (binary_expression "(code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2" (binary_expression "(code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22" (cast_expression "(code *)((int)pppppppcVar9 + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar9 + -1)" ( (binary_expression "(int)pppppppcVar9 + -1" (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + (cast_expression "(int)pppppppcVar22" ( (type_descriptor "int" primitive_type) ) identifier)) + (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "ppppcVar26 = ppppcVar25;" (assignment_expression "ppppcVar26 = ppppcVar25" identifier = identifier) ;) }) while (parenthesized_expression "(ppppcVar20 != (code ****)0x0)" ( (binary_expression "ppppcVar20 != (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 "ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);" (assignment_expression "ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff)" identifier = (cast_expression "(code ****)((uint)ppppcVar25 & 0xffff)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)ppppcVar25 & 0xffff)" ( (binary_expression "(uint)ppppcVar25 & 0xffff" (cast_expression "(uint)ppppcVar25" ( (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 "pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);" (assignment_expression "pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26)" identifier = (cast_expression "(code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26)" ( (type_descriptor "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)pppppppcVar22) + -(int)ppppcVar26)" ( (binary_expression "(code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26" (cast_expression "(code *)((int)unaff_s7 + (int)pppppppcVar22)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + (int)pppppppcVar22)" ( (binary_expression "(int)unaff_s7 + (int)pppppppcVar22" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar22" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + (unary_expression "-(int)ppppcVar26" - (cast_expression "(int)ppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (labeled_statement "LAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }" statement_identifier : (if_statement "if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }" if (parenthesized_expression "((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9)" ( (binary_expression "(code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9" (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 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }" { (expression_statement "pppppppcStack_128 = pppppppcVar19;" (assignment_expression "pppppppcStack_128 = pppppppcVar19" identifier = identifier) ;) (expression_statement "FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);" (call_expression "FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8)" identifier (argument_list "(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x76f8" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) )))) + number_literal) ))) ;) }))) }))) }) (else_clause "else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" else (compound_statement "{\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" { (expression_statement "pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);" (assignment_expression "pppppppcVar13 = (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 + -0x7fbc);" (assignment_expression "iStack_f4 = *(int *)(puStack_120 + -0x7fbc)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) ))))) ;) (expression_statement "pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);" (assignment_expression "pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088)" identifier = (cast_expression "(code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7e98) + 0x3088)" ( (binary_expression "*(int *)(puStack_120 + -0x7e98) + 0x3088" (pointer_expression "*(int *)(puStack_120 + -0x7e98)" * (cast_expression "(int *)(puStack_120 + -0x7e98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7e98)" ( (binary_expression "puStack_120 + -0x7e98" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_cc = *(int *)(puStack_120 + -0x7fbc);" (assignment_expression "iStack_cc = *(int *)(puStack_120 + -0x7fbc)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) ))))) ;) (expression_statement "pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);" (assignment_expression "pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" identifier = (cast_expression "(code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" ( (binary_expression "*(int *)(puStack_120 + -0x7f44) + -0xb3c" (pointer_expression "*(int *)(puStack_120 + -0x7f44)" * (cast_expression "(int *)(puStack_120 + -0x7f44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7f44)" ( (binary_expression "puStack_120 + -0x7f44" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);" (assignment_expression "pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc)" identifier = (cast_expression "(code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7e98) + 0x36fc)" ( (binary_expression "*(int *)(puStack_120 + -0x7e98) + 0x36fc" (pointer_expression "*(int *)(puStack_120 + -0x7e98)" * (cast_expression "(int *)(puStack_120 + -0x7e98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7e98)" ( (binary_expression "puStack_120 + -0x7e98" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar5 = pcStack_e4;" (assignment_expression "pcVar5 = pcStack_e4" identifier = identifier) ;) (expression_statement "pppppppcStack_f8 = pppppppcVar32;" (assignment_expression "pppppppcStack_f8 = pppppppcVar32" 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 = pppppppcVar19;" (assignment_expression "pppppppcStack_64 = pppppppcVar19" identifier = identifier) ;) (do_statement "do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));" do (compound_statement "{\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        }" { (expression_statement "ppppppcVar18[9] = (code *****)unaff_s2;" (assignment_expression "ppppppcVar18[9] = (code *****)unaff_s2" (subscript_expression "ppppppcVar18[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 "pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;" (assignment_expression "pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5" identifier = (binary_expression "(code *******)(uint)*(ushort *)pcVar5" (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 *)pcVar5" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }" if (parenthesized_expression "((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19))" ( (binary_expression "(pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)" (parenthesized_expression "(pppppppcVar19 < pppppppcVar22)" ( (binary_expression "pppppppcVar19 < pppppppcVar22" identifier < identifier) )) || (parenthesized_expression "(pppppppcVar13 < pppppppcVar19)" ( (binary_expression "pppppppcVar13 < pppppppcVar19" identifier < identifier) ))) )) (compound_statement "{\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }" { (expression_statement "pppppppcStack_128 = pppppppcVar13;" (assignment_expression "pppppppcStack_128 = pppppppcVar13" identifier = identifier) ;) (expression_statement "(*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);" (call_expression "(*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22)" ( identifier , (binary_expression "iStack_f4 + -0x778c" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iStack_fc = 0;" (assignment_expression "iStack_fc = 0" identifier = number_literal) ;) (expression_statement "pppppppcVar9 = pppppppcVar19;" (assignment_expression "pppppppcVar9 = pppppppcVar19" identifier = identifier) ;) }) (else_clause "else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }" else (compound_statement "{\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }" { (expression_statement "pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);" (assignment_expression "pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19)" identifier = (cast_expression "(code *)((int)param_2 + (int)pppppppcVar19)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + (int)pppppppcVar19)" ( (binary_expression "(int)param_2 + (int)pppppppcVar19" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar19" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar9 = (code *******)&pppppppcStack_b0;" (assignment_expression "pppppppcVar9 = (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,pcVar6);" (call_expression "(**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6)" (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,pcVar6)" ( identifier , identifier ))) ;) (if_statement "if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }" if (parenthesized_expression "(ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e))" ( (binary_expression "ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)" identifier < (cast_expression "(code ******)((int)pppppppcVar19 + (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)pppppppcVar19 + (uint)uStack_9e)" ( (binary_expression "(int)pppppppcVar19 + (uint)uStack_9e" (cast_expression "(int)pppppppcVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)uStack_9e" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) )) (compound_statement "{\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }" { (expression_statement "(*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);" (call_expression "(*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x776c" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" 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                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }" else (compound_statement "{\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }" { (if_statement "if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\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                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }" { (if_statement "if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }" if (parenthesized_expression "(iStack_104 == 0)" ( (binary_expression "iStack_104 == 0" identifier == number_literal) )) (compound_statement "{\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (if_statement "if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = 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_00083eb0:\n                    bVar3 = false;\n                  }" { (labeled_statement "LAB_00083eb0:\n                    bVar3 = false;" statement_identifier : (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;)) })) }) (else_clause "else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }" else (compound_statement "{\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (if_statement "if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = 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_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }" { (if_statement "if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;" if (parenthesized_expression "(pppppppcStack_b0 != local_58)" ( (binary_expression "pppppppcStack_b0 != local_58" identifier != identifier) )) (goto_statement "goto LAB_00083eb0;" goto statement_identifier ;)) (if_statement "if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }" if (parenthesized_expression "(ppppppcStack_ac <= ppppppcStack_54)" ( (binary_expression "ppppppcStack_ac <= ppppppcStack_54" identifier <= identifier) )) (compound_statement "{\n                      bVar3 = false;\n                    }" { (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) })) })) }))) (if_statement "if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }" { (expression_statement "(*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);" (call_expression "(*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x7754" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" 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                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }" if (parenthesized_expression "(uStack_a0 < uStack_a4)" ( (binary_expression "uStack_a0 < uStack_a4" identifier < identifier) )) (compound_statement "{\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }" { (expression_statement "uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));" (assignment_expression "uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4))" identifier = (pointer_expression "*(undefined4 *)(pcVar6 + (uStack_9e - 4))" * (cast_expression "(undefined4 *)(pcVar6 + (uStack_9e - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + (uStack_9e - 4))" ( (binary_expression "pcVar6 + (uStack_9e - 4)" identifier + (parenthesized_expression "(uStack_9e - 4)" ( (binary_expression "uStack_9e - 4" identifier - number_literal) ))) ))))) ;) (if_statement "if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }" if (parenthesized_expression "(pppppppcVar13 == (code *******)0x0)" ( (binary_expression "pppppppcVar13 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n                  trap(7);\n                }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;" (assignment_expression "uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13" identifier = (binary_expression "(uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13" (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)pppppppcVar13" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = 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 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }" { (expression_statement "uStack_c0 = uVar38;" (assignment_expression "uStack_c0 = uVar38" identifier = identifier) ;) (expression_statement "uStack_bc = uVar21;" (assignment_expression "uStack_bc = uVar21" identifier = identifier) ;) (expression_statement "FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);" (call_expression "FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64)" identifier (argument_list "(ppppppcVar18,uVar38,3,pppppppcStack_64)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar21 = uStack_bc;" (assignment_expression "uVar21 = uStack_bc" identifier = identifier) ;) (expression_statement "uVar38 = uStack_c0;" (assignment_expression "uVar38 = uStack_c0" identifier = identifier) ;) })) (expression_statement "FUN_00083390(ppppppcVar18,0,uVar38,uVar21);" (call_expression "FUN_00083390(ppppppcVar18,0,uVar38,uVar21)" identifier (argument_list "(ppppppcVar18,0,uVar38,uVar21)" ( identifier , number_literal , identifier , identifier ))) ;) })) (if_statement "if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 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                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }" { (expression_statement "uVar38 = *(undefined4 *)pcVar6;" (assignment_expression "uVar38 = *(undefined4 *)pcVar6" identifier = (pointer_expression "*(undefined4 *)pcVar6" * (cast_expression "(undefined4 *)pcVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,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_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }" { (expression_statement "FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);" (call_expression "FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64)" identifier (argument_list "(ppppppcVar18,uVar38,5,pppppppcStack_64)" ( identifier , identifier , number_literal , identifier ))) ;) })) (expression_statement "pppppppcVar9 = (code *******)&local_58;" (assignment_expression "pppppppcVar9 = (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 "iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);" (assignment_expression "iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38)" identifier = (call_expression "(*pcStack_e0)(ppppppcVar18,uVar38)" (parenthesized_expression "(*pcStack_e0)" ( (pointer_expression "*pcStack_e0" * identifier) )) (argument_list "(ppppppcVar18,uVar38)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }" if (parenthesized_expression "(iVar7 == iStack_108)" ( (binary_expression "iVar7 == iStack_108" identifier == identifier) )) (compound_statement "{\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }" { (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" identifier = number_literal) ;) (expression_statement "iStack_108 = iVar7;" (assignment_expression "iStack_108 = iVar7" identifier = identifier) ;) }) (else_clause "else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }" else (compound_statement "{\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }" { (expression_statement "iStack_108 = iVar7;" (assignment_expression "iStack_108 = iVar7" identifier = identifier) ;) (expression_statement "(*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);" (call_expression "(*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar18,iStack_cc + -0x773c)" ( identifier , (binary_expression "iStack_cc + -0x773c" identifier + number_literal) ))) ;) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }" else (compound_statement "{\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }" { (expression_statement "pppppppcVar9 = (code *******)(uStack_9e - 1);" (assignment_expression "pppppppcVar9 = (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)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);" (call_expression "(*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10)" (parenthesized_expression "(*pcStack_d0)" ( (pointer_expression "*pcStack_d0" * identifier) )) (argument_list "(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10)" ( identifier , (binary_expression "(uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10" (call_expression "(uint)((int)pppppppcVar9 + (int)pppppppcVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppppcVar9 + (int)pppppppcVar19)" ( (binary_expression "(int)pppppppcVar9 + (int)pppppppcVar19" (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ))) | (binary_expression "(int)pppppppcVar19 << 0x10" (cast_expression "(int)pppppppcVar19" ( (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                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0))" ( (binary_expression "(unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[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 "(pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0)" ( (comma_expression "pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0" (assignment_expression "pcVar5 = pcVar5 + -2" identifier = (binary_expression "pcVar5 + -2" identifier + number_literal)) , (binary_expression "ppppppcVar18[4] != (code *****)0x0" (subscript_expression "ppppppcVar18[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 "iVar7 = iStack_108 + 1;" (assignment_expression "iVar7 = iStack_108 + 1" identifier = (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 "ppppppcVar18[7] = (code *****)0x0;" (assignment_expression "ppppppcVar18[7] = (code *****)0x0" (subscript_expression "ppppppcVar18[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 "pppppppcVar19 = pppppppcStack_64;" (assignment_expression "pppppppcVar19 = pppppppcStack_64" identifier = identifier) ;) (expression_statement "pppppppcVar32 = pppppppcVar22;" (assignment_expression "pppppppcVar32 = pppppppcVar22" 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_00083c5c;" if (parenthesized_expression "(iStack_fc != 0)" ( (binary_expression "iStack_fc != 0" identifier != number_literal) )) (goto_statement "goto LAB_00083c5c;" 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      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }" else (compound_statement "{\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }" { (expression_statement "iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;" (assignment_expression "iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814" identifier = (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x7814" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);" statement_identifier : (expression_statement "FUN_00083088(ppppppcVar18,iVar7);" (call_expression "FUN_00083088(ppppppcVar18,iVar7)" identifier (argument_list "(ppppppcVar18,iVar7)" ( identifier , identifier ))) ;)) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" statement_identifier : (if_statement "if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(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 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" { (expression_statement "(*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));" (call_expression "(*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48))" (parenthesized_expression "(*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))" ( (pointer_expression "*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c)" * (cast_expression "(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7f44) + -0x138c)" ( (binary_expression "*(int *)(puStack_120 + -0x7f44) + -0x138c" (pointer_expression "*(int *)(puStack_120 + -0x7f44)" * (cast_expression "(int *)(puStack_120 + -0x7f44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7f44)" ( (binary_expression "puStack_120 + -0x7f44" 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 "ppppppcVar18[7] = pppppcStack_114;" (assignment_expression "ppppppcVar18[7] = pppppcStack_114" (subscript_expression "ppppppcVar18[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar18[8] = pppppcStack_110;" (assignment_expression "ppppppcVar18[8] = pppppcStack_110" (subscript_expression "ppppppcVar18[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar18[9] = pppppcStack_10c;" (assignment_expression "ppppppcVar18[9] = pppppcStack_10c" (subscript_expression "ppppppcVar18[9]" identifier [ number_literal ]) = identifier) ;) }))) (if_statement "if (ppppppcStack_94 == (code ******)*puVar28) {\n    return iVar7;\n  }" if (parenthesized_expression "(ppppppcStack_94 == (code ******)*puVar28)" ( (binary_expression "ppppppcStack_94 == (code ******)*puVar28" identifier == (cast_expression "(code ******)*puVar28" ( (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 "*puVar28" * identifier))) )) (compound_statement "{\n    return iVar7;\n  }" { (return_statement "return iVar7;" return identifier ;) })) (expression_statement "pcVar5 = *(code **)(puStack_120 + -0x7b9c);" (assignment_expression "pcVar5 = *(code **)(puStack_120 + -0x7b9c)" identifier = (pointer_expression "*(code **)(puStack_120 + -0x7b9c)" * (cast_expression "(code **)(puStack_120 + -0x7b9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_120 + -0x7b9c)" ( (binary_expression "puStack_120 + -0x7b9c" identifier + number_literal) ))))) ;) (expression_statement "uVar38 = 0x84008;" (assignment_expression "uVar38 = 0x84008" identifier = number_literal) ;) (expression_statement "ppppppcVar17 = ppppppcStack_94;" (assignment_expression "ppppppcVar17 = ppppppcStack_94" identifier = identifier) ;) (expression_statement "(*pcVar5)();" (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "puVar23 = (undefined4 *)&DAT_000001f8;" (assignment_expression "puVar23 = (undefined4 *)&DAT_000001f8" identifier = (cast_expression "(undefined4 *)&DAT_000001f8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001f8" & identifier))) ;) (expression_statement "piVar33 = *(int **)(pcVar5 + 0xd8a28);" (assignment_expression "piVar33 = *(int **)(pcVar5 + 0xd8a28)" identifier = (pointer_expression "*(int **)(pcVar5 + 0xd8a28)" * (cast_expression "(int **)(pcVar5 + 0xd8a28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8a28)" ( (binary_expression "pcVar5 + 0xd8a28" 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 = *piVar33;" (assignment_expression "iStack_164 = *piVar33" identifier = (pointer_expression "*piVar33" * identifier)) ;) (expression_statement "puStack_160 = puVar28;" (assignment_expression "puStack_160 = puVar28" identifier = identifier) ;) (expression_statement "pppppppcStack_15c = pppppppcVar19;" (assignment_expression "pppppppcStack_15c = pppppppcVar19" identifier = identifier) ;) (expression_statement "pppppppcStack_158 = unaff_s2;" (assignment_expression "pppppppcStack_158 = unaff_s2" identifier = identifier) ;) (expression_statement "iStack_154 = iVar7;" (assignment_expression "iStack_154 = iVar7" identifier = identifier) ;) (expression_statement "pppppppcStack_150 = pppppppcVar32;" (assignment_expression "pppppppcStack_150 = pppppppcVar32" 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 = ppppppcVar18;" (assignment_expression "ppppppcStack_140 = ppppppcVar18" identifier = identifier) ;) (expression_statement "uStack_13c = uVar38;" (assignment_expression "uStack_13c = uVar38" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar5 + 0xd89b0))(auStack_360);" (call_expression "(**(code **)(pcVar5 + 0xd89b0))(auStack_360)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd89b0))" ( (pointer_expression "**(code **)(pcVar5 + 0xd89b0)" * (pointer_expression "*(code **)(pcVar5 + 0xd89b0)" * (cast_expression "(code **)(pcVar5 + 0xd89b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd89b0)" ( (binary_expression "pcVar5 + 0xd89b0" identifier + number_literal) ))))) )) (argument_list "(auStack_360)" ( identifier ))) ;) (expression_statement "ppppppcVar18 = *pppppppcVar9;" (assignment_expression "ppppppcVar18 = *pppppppcVar9" identifier = (pointer_expression "*pppppppcVar9" * identifier)) ;) (expression_statement "bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18);" (assignment_expression "bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8730))(ppppppcVar18)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8730))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8730)" * (pointer_expression "*(code **)(pcVar5 + 0xd8730)" * (cast_expression "(code **)(pcVar5 + 0xd8730)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8730)" ( (binary_expression "pcVar5 + 0xd8730" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar18)" ( identifier )))) ;) (if_statement "if (bStack_34c - 1 < 5) {\n    bStack_34b = bStack_34c << 1;\n    bStack_349 = (bStack_34c + 1) * '\b';\n    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);\n    ppppppcVar18 = pppppppcVar9[1];\n    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);\n    if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }\n  }" if (parenthesized_expression "(bStack_34c - 1 < 5)" ( (binary_expression "bStack_34c - 1 < 5" (binary_expression "bStack_34c - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n    bStack_34b = bStack_34c << 1;\n    bStack_349 = (bStack_34c + 1) * '\b';\n    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);\n    ppppppcVar18 = pppppppcVar9[1];\n    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);\n    if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }\n  }" { (expression_statement "bStack_34b = bStack_34c << 1;" (assignment_expression "bStack_34b = bStack_34c << 1" identifier = (binary_expression "bStack_34c << 1" identifier << number_literal)) ;) (expression_statement "bStack_349 = (bStack_34c + 1) * '\b';" (assignment_expression "bStack_349 = (bStack_34c + 1) * '\b'" identifier = (binary_expression "(bStack_34c + 1) * '\b'" (parenthesized_expression "(bStack_34c + 1)" ( (binary_expression "bStack_34c + 1" identifier + number_literal) )) * (char_literal "'\b'" ' escape_sequence '))) ;) (expression_statement "iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);" (assignment_expression "iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1])" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1])" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8628))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8628)" * (pointer_expression "*(code **)(pcVar5 + 0xd8628)" * (cast_expression "(code **)(pcVar5 + 0xd8628)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8628)" ( (binary_expression "pcVar5 + 0xd8628" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar9[1])" ( (subscript_expression "pppppppcVar9[1]" identifier [ number_literal ]) )))) ;) (expression_statement "ppppppcVar18 = pppppppcVar9[1];" (assignment_expression "ppppppcVar18 = pppppppcVar9[1]" identifier = (subscript_expression "pppppppcVar9[1]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);" (assignment_expression "iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd862c))(ppppppcVar18)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd862c))" ( (pointer_expression "**(code **)(pcVar5 + 0xd862c)" * (pointer_expression "*(code **)(pcVar5 + 0xd862c)" * (cast_expression "(code **)(pcVar5 + 0xd862c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd862c)" ( (binary_expression "pcVar5 + 0xd862c" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar18)" ( identifier )))) ;) (if_statement "if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }" if (parenthesized_expression "(3 < iVar7)" ( (binary_expression "3 < iVar7" number_literal < identifier) )) (compound_statement "{\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }" { (expression_statement "uVar21 = (uint)bStack_349;" (assignment_expression "uVar21 = (uint)bStack_349" identifier = (cast_expression "(uint)bStack_349" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);" (assignment_expression "ppppppcVar18 = (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) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }" if (parenthesized_expression "((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7)" ( (binary_expression "(int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7" (cast_expression "(int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21)" ( (binary_expression "(int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21" (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        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }" { (expression_statement "uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);" (assignment_expression "uVar38 = (**(code **)(pcVar5 + 0xd881c))(0)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd881c))(0)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd881c))" ( (pointer_expression "**(code **)(pcVar5 + 0xd881c)" * (pointer_expression "*(code **)(pcVar5 + 0xd881c)" * (cast_expression "(code **)(pcVar5 + 0xd881c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd881c)" ( (binary_expression "pcVar5 + 0xd881c" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (if_statement "if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,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          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }" { (expression_statement "iVar7 = *(int *)(pcVar5 + 0xd85ec);" (assignment_expression "iVar7 = *(int *)(pcVar5 + 0xd85ec)" identifier = (pointer_expression "*(int *)(pcVar5 + 0xd85ec)" * (cast_expression "(int *)(pcVar5 + 0xd85ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0xd85ec)" ( (binary_expression "pcVar5 + 0xd85ec" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar5 + 0xd86bc);" (assignment_expression "iVar11 = *(int *)(pcVar5 + 0xd86bc)" identifier = (pointer_expression "*(int *)(pcVar5 + 0xd86bc)" * (cast_expression "(int *)(pcVar5 + 0xd86bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0xd86bc)" ( (binary_expression "pcVar5 + 0xd86bc" identifier + number_literal) ))))) ;) (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);" (call_expression "(*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0)" (parenthesized_expression "(*(code *)(iVar11 + -0x1554))" ( (pointer_expression "*(code *)(iVar11 + -0x1554)" * (cast_expression "(code *)(iVar11 + -0x1554)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + -0x1554)" ( (binary_expression "iVar11 + -0x1554" identifier + number_literal) )))) )) (argument_list "(auStack_360,&uStack_3b0,0)" ( identifier , (pointer_expression "&uStack_3b0" & identifier) , number_literal ))) ;) (expression_statement "iVar15 = *(int *)(pcVar5 + 0xd85e0);" (assignment_expression "iVar15 = *(int *)(pcVar5 + 0xd85e0)" identifier = (pointer_expression "*(int *)(pcVar5 + 0xd85e0)" * (cast_expression "(int *)(pcVar5 + 0xd85e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0xd85e0)" ( (binary_expression "pcVar5 + 0xd85e0" identifier + number_literal) ))))) ;) (expression_statement "iVar34 = *(int *)(pcVar5 + 0xd85ec);" (assignment_expression "iVar34 = *(int *)(pcVar5 + 0xd85ec)" identifier = (pointer_expression "*(int *)(pcVar5 + 0xd85ec)" * (cast_expression "(int *)(pcVar5 + 0xd85ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0xd85ec)" ( (binary_expression "pcVar5 + 0xd85ec" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(pcVar5 + 0xd85ec);" (assignment_expression "iVar29 = *(int *)(pcVar5 + 0xd85ec)" identifier = (pointer_expression "*(int *)(pcVar5 + 0xd85ec)" * (cast_expression "(int *)(pcVar5 + 0xd85ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0xd85ec)" ( (binary_expression "pcVar5 + 0xd85ec" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }" { (expression_statement "sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);" (call_expression "sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c)" identifier (argument_list "(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c)" ( identifier , (binary_expression "iVar34 + -0x76c4" identifier + number_literal) , identifier , identifier ))) ;) (if_statement "if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }" if (parenthesized_expression "(bStack_34b != 0)" ( (binary_expression "bStack_34b != 0" identifier != number_literal) )) (compound_statement "{\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }" { (expression_statement "pfVar35 = afStack_388;" (assignment_expression "pfVar35 = afStack_388" identifier = identifier) ;) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) (do_statement "do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);" do (compound_statement "{\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              }" { (expression_statement "fVar39 = *pfVar35;" (assignment_expression "fVar39 = *pfVar35" identifier = (pointer_expression "*pfVar35" * identifier)) ;) (expression_statement "iVar37 = iVar37 + 1;" (assignment_expression "iVar37 = iVar37 + 1" identifier = (binary_expression "iVar37 + 1" identifier + number_literal)) ;) (expression_statement "pfVar35 = pfVar35 + 1;" (assignment_expression "pfVar35 = pfVar35 + 1" identifier = (binary_expression "pfVar35 + 1" identifier + number_literal)) ;) (expression_statement "sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));" (call_expression "sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0))" identifier (argument_list "(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0))" ( identifier , (binary_expression "iVar29 + -0x76bc" identifier + number_literal) , (cast_expression "(int)((ulonglong)(double)fVar39 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)fVar39 >> 0x20)" ( (binary_expression "(ulonglong)(double)fVar39 >> 0x20" (cast_expression "(ulonglong)(double)fVar39" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)fVar39" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) , (call_expression "SUB84((double)fVar39,0)" identifier (argument_list "((double)fVar39,0)" ( (cast_expression "(double)fVar39" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) ))) ;) }) while (parenthesized_expression "(iVar37 < (int)(uint)bStack_34b)" ( (binary_expression "iVar37 < (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 "iVar31 = iVar31 + 1;" (assignment_expression "iVar31 = iVar31 + 1" identifier = (binary_expression "iVar31 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);" (call_expression "(**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd87bc))" ( (pointer_expression "**(code **)(pcVar5 + 0xd87bc)" * (pointer_expression "*(code **)(pcVar5 + 0xd87bc)" * (cast_expression "(code **)(pcVar5 + 0xd87bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd87bc)" ( (binary_expression "pcVar5 + 0xd87bc" identifier + number_literal) ))))) )) (argument_list "(uVar38,iVar7 + -0x739c,1)" ( identifier , (binary_expression "iVar7 + -0x739c" identifier + number_literal) , number_literal ))) ;) (if_statement "if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;" if (parenthesized_expression "((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31)" ( (binary_expression "(int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31" (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 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);" (call_expression "(*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390)" (parenthesized_expression "(*(code *)(iVar11 + -0x1554))" ( (pointer_expression "*(code *)(iVar11 + -0x1554)" * (cast_expression "(code *)(iVar11 + -0x1554)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + -0x1554)" ( (binary_expression "iVar11 + -0x1554" identifier + number_literal) )))) )) (argument_list "(auStack_360,&uStack_3b0,iVar31,&uStack_390)" ( identifier , (pointer_expression "&uStack_3b0" & identifier) , identifier , (pointer_expression "&uStack_390" & identifier) ))) ;) (expression_statement "(**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);" (call_expression "(**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd87bc))" ( (pointer_expression "**(code **)(pcVar5 + 0xd87bc)" * (pointer_expression "*(code **)(pcVar5 + 0xd87bc)" * (cast_expression "(code **)(pcVar5 + 0xd87bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd87bc)" ( (binary_expression "pcVar5 + 0xd87bc" identifier + number_literal) ))))) )) (argument_list "(uVar38,iVar15 + 0x5dc8,1)" ( identifier , (binary_expression "iVar15 + 0x5dc8" identifier + number_literal) , number_literal ))) ;) })) })) (expression_statement "uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);" (assignment_expression "uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8820))(uVar38)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8820))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8820)" * (pointer_expression "*(code **)(pcVar5 + 0xd8820)" * (cast_expression "(code **)(pcVar5 + 0xd8820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8820)" ( (binary_expression "pcVar5 + 0xd8820" identifier + number_literal) ))))) )) (argument_list "(uVar38)" ( identifier )))) ;) (expression_statement "uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);" (assignment_expression "uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8824))(uVar38)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8824))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8824)" * (pointer_expression "*(code **)(pcVar5 + 0xd8824)" * (cast_expression "(code **)(pcVar5 + 0xd8824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8824)" ( (binary_expression "pcVar5 + 0xd8824" identifier + number_literal) ))))) )) (argument_list "(uVar38)" ( identifier )))) ;) (expression_statement "puVar23 = (undefined4 *)0xffffffff;" (assignment_expression "puVar23 = (undefined4 *)0xffffffff" identifier = (cast_expression "(undefined4 *)0xffffffff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));" (call_expression "(**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4))" (parenthesized_expression "(**(code **)(pcVar5 + 0xd866c))" ( (pointer_expression "**(code **)(pcVar5 + 0xd866c)" * (pointer_expression "*(code **)(pcVar5 + 0xd866c)" * (cast_expression "(code **)(pcVar5 + 0xd866c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd866c)" ( (binary_expression "pcVar5 + 0xd866c" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4))" ( identifier , identifier , number_literal , (pointer_expression "*(undefined4 *)(pcVar5 + 0xd85e4)" * (cast_expression "(undefined4 *)(pcVar5 + 0xd85e4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0xd85e4)" ( (binary_expression "pcVar5 + 0xd85e4" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);" (call_expression "(**(code **)(pcVar5 + 0xd8778))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8778))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8778)" * (pointer_expression "*(code **)(pcVar5 + 0xd8778)" * (cast_expression "(code **)(pcVar5 + 0xd8778)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8778)" ( (binary_expression "pcVar5 + 0xd8778" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17)" ( identifier ))) ;) (expression_statement "ppppppcVar18 = ppppppcVar17;" (assignment_expression "ppppppcVar18 = ppppppcVar17" identifier = identifier) ;) })) })) })) (expression_statement "iVar7 = *piVar33;" (assignment_expression "iVar7 = *piVar33" identifier = (pointer_expression "*piVar33" * identifier)) ;) (if_statement "if (iStack_164 == iVar7) {\n    return iVar7;\n  }" if (parenthesized_expression "(iStack_164 == iVar7)" ( (binary_expression "iStack_164 == iVar7" identifier == identifier) )) (compound_statement "{\n    return iVar7;\n  }" { (return_statement "return iVar7;" return identifier ;) })) (expression_statement "pcVar5 = *(code **)(pcVar5 + 0xd8a0c);" (assignment_expression "pcVar5 = *(code **)(pcVar5 + 0xd8a0c)" identifier = (pointer_expression "*(code **)(pcVar5 + 0xd8a0c)" * (cast_expression "(code **)(pcVar5 + 0xd8a0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8a0c)" ( (binary_expression "pcVar5 + 0xd8a0c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar5)();" (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23);" (assignment_expression "iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8304))(*puVar23)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8304))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8304)" * (pointer_expression "*(code **)(pcVar5 + 0xd8304)" * (cast_expression "(code **)(pcVar5 + 0xd8304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8304)" ( (binary_expression "pcVar5 + 0xd8304" identifier + number_literal) ))))) )) (argument_list "(*puVar23)" ( (pointer_expression "*puVar23" * identifier) )))) ;) (if_statement "if (iVar7 == 5) {\n    return 5;\n  }" if (parenthesized_expression "(iVar7 == 5)" ( (binary_expression "iVar7 == 5" identifier == number_literal) )) (compound_statement "{\n    return 5;\n  }" { (return_statement "return 5;" return number_literal ;) })) (expression_statement "iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18);" (assignment_expression "iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8450))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8450)" * (pointer_expression "*(code **)(pcVar5 + 0xd8450)" * (cast_expression "(code **)(pcVar5 + 0xd8450)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8450)" ( (binary_expression "pcVar5 + 0xd8450" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar18,0x18)" ( identifier , number_literal )))) ;) (if_statement "if (iVar7 == 0) {\n    return 0;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18);" (assignment_expression "iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd83c8))" ( (pointer_expression "**(code **)(pcVar5 + 0xd83c8)" * (pointer_expression "*(code **)(pcVar5 + 0xd83c8)" * (cast_expression "(code **)(pcVar5 + 0xd83c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd83c8)" ( (binary_expression "pcVar5 + 0xd83c8" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar18)" ( identifier )))) ;) (expression_statement "iVar15 = *(int *)(iVar7 + 0xc);" (assignment_expression "iVar15 = *(int *)(iVar7 + 0xc)" identifier = (pointer_expression "*(int *)(iVar7 + 0xc)" * (cast_expression "(int *)(iVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c);" (assignment_expression "*(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c)" (pointer_expression "*(undefined4 *)(iVar7 + 0xc)" * (cast_expression "(undefined4 *)(iVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar11 + 0x6c)" * (cast_expression "(undefined4 *)(iVar11 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x6c)" ( (binary_expression "iVar11 + 0x6c" identifier + number_literal) ))))) ;) (if_statement "if (iVar15 != 0) {\n    if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    (*pcVar6)(iVar7,iVar11,uVar38);\n  }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n    if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    (*pcVar6)(iVar7,iVar11,uVar38);\n  }" { (if_statement "if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }" if (parenthesized_expression "(uVar21 == 2)" ( (binary_expression "uVar21 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }" { (expression_statement "iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);" (assignment_expression "iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1])" identifier = (call_expression "(**(code **)(pcVar5 + 0xd831c))(puVar23[1])" (parenthesized_expression "(**(code **)(pcVar5 + 0xd831c))" ( (pointer_expression "**(code **)(pcVar5 + 0xd831c)" * (pointer_expression "*(code **)(pcVar5 + 0xd831c)" * (cast_expression "(code **)(pcVar5 + 0xd831c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd831c)" ( (binary_expression "pcVar5 + 0xd831c" identifier + number_literal) ))))) )) (argument_list "(puVar23[1])" ( (subscript_expression "puVar23[1]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);" (assignment_expression "uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1])" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8318))(puVar23[1])" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8318))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8318)" * (pointer_expression "*(code **)(pcVar5 + 0xd8318)" * (cast_expression "(code **)(pcVar5 + 0xd8318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8318)" ( (binary_expression "pcVar5 + 0xd8318" identifier + number_literal) ))))) )) (argument_list "(puVar23[1])" ( (subscript_expression "puVar23[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar11 == 0) goto LAB_000843cc;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000843cc;" goto statement_identifier ;)) (expression_statement "pcVar6 = *(code **)(pcVar5 + 0xd84a8);" (assignment_expression "pcVar6 = *(code **)(pcVar5 + 0xd84a8)" identifier = (pointer_expression "*(code **)(pcVar5 + 0xd84a8)" * (cast_expression "(code **)(pcVar5 + 0xd84a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd84a8)" ( (binary_expression "pcVar5 + 0xd84a8" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }" else (compound_statement "{\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }" { (expression_statement "uVar38 = 1;" (assignment_expression "uVar38 = 1" identifier = number_literal) ;) (expression_statement "iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;" (assignment_expression "iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc" identifier = (binary_expression "*(int *)(pcVar5 + 0xd82cc) + 0x60cc" (pointer_expression "*(int *)(pcVar5 + 0xd82cc)" * (cast_expression "(int *)(pcVar5 + 0xd82cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0xd82cc)" ( (binary_expression "pcVar5 + 0xd82cc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar6 = *(code **)(pcVar5 + 0xd84a8);" (assignment_expression "pcVar6 = *(code **)(pcVar5 + 0xd84a8)" identifier = (pointer_expression "*(code **)(pcVar5 + 0xd84a8)" * (cast_expression "(code **)(pcVar5 + 0xd84a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd84a8)" ( (binary_expression "pcVar5 + 0xd84a8" identifier + number_literal) ))))) ;) }))) (expression_statement "(*pcVar6)(iVar7,iVar11,uVar38);" (call_expression "(*pcVar6)(iVar7,iVar11,uVar38)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(iVar7,iVar11,uVar38)" ( identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_000843cc:\n  iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);" statement_identifier : (expression_statement "iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);" (assignment_expression "iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd831c))(*puVar23)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd831c))" ( (pointer_expression "**(code **)(pcVar5 + 0xd831c)" * (pointer_expression "*(code **)(pcVar5 + 0xd831c)" * (cast_expression "(code **)(pcVar5 + 0xd831c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd831c)" ( (binary_expression "pcVar5 + 0xd831c" identifier + number_literal) ))))) )) (argument_list "(*puVar23)" ( (pointer_expression "*puVar23" * identifier) )))) ;)) (expression_statement "iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23);" (assignment_expression "iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8318))(*puVar23)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8318))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8318)" * (pointer_expression "*(code **)(pcVar5 + 0xd8318)" * (cast_expression "(code **)(pcVar5 + 0xd8318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8318)" ( (binary_expression "pcVar5 + 0xd8318" identifier + number_literal) ))))) )) (argument_list "(*puVar23)" ( (pointer_expression "*puVar23" * identifier) )))) ;) (if_statement "if (iVar11 == 0) {\n    return iVar15;\n  }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n    return iVar15;\n  }" { (return_statement "return iVar15;" return identifier ;) })) comment comment (expression_statement "iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15);" (assignment_expression "iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd84a8))" ( (pointer_expression "**(code **)(pcVar5 + 0xd84a8)" * (pointer_expression "*(code **)(pcVar5 + 0xd84a8)" * (cast_expression "(code **)(pcVar5 + 0xd84a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd84a8)" ( (binary_expression "pcVar5 + 0xd84a8" identifier + number_literal) ))))) )) (argument_list "(iVar7,iVar11,iVar15)" ( identifier , identifier , identifier )))) ;) (return_statement "return iVar7;" 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 uVar14;\n  uint uVar13;\n  StrAccum *p;\n  int iVar15;\n  uint uVar16;\n  int iVar17;\n  IntegrityCk *pCheck_00;\n  BtShared *pBVar18;\n  uint uVar19;\n  sqlite3 *psVar20;\n  sqlite3 *psVar21;\n  BtShared *pBVar22;\n  u32 uVar23;\n  char *zFormat;\n  uint uVar24;\n  u32 *puVar25;\n  undefined1 *puVar26;\n  undefined4 *puVar27;\n  undefined4 uVar28;\n  int iVar29;\n  uint uVar30;\n  ushort *puVar31;\n  uint uVar32;\n  BtShared *unaff_s0;\n  int *piVar33;\n  undefined *unaff_s1;\n  Pgno *pPVar34;\n  ushort *puVar35;\n  int iVar36;\n  BtShared *unaff_s2;\n  Pgno PVar37;\n  BtShared *unaff_s3;\n  anon_union_500_3_7c964c52_for_u *paVar38;\n  uint uVar39;\n  int iVar40;\n  BtShared *unaff_s4;\n  BtShared *pBVar41;\n  uint uVar42;\n  BtShared *unaff_s5;\n  int *piVar43;\n  int iVar44;\n  Bitvec *unaff_s7;\n  float *pfVar45;\n  undefined *puVar46;\n  int iVar47;\n  float fVar48;\n  undefined4 uStackY_3b0;\n  undefined4 uStackY_3ac;\n  undefined4 uStackY_3a8;\n  undefined4 uStackY_3a4;\n  undefined4 uStackY_3a0;\n  undefined4 uStackY_39c;\n  int iStackY_398;\n  undefined4 uStackY_394;\n  undefined4 uStackY_390;\n  undefined4 uStackY_38c;\n  float afStackY_388 [10];\n  undefined1 auStackY_360 [20];\n  byte bStackY_34c;\n  byte bStackY_34b;\n  byte bStackY_349;\n  int iStackY_164;\n  int *piStackY_160;\n  BtShared *pBStackY_15c;\n  BtShared *pBStackY_158;\n  int iStackY_154;\n  BtShared *pBStackY_150;\n  BtShared *pBStackY_14c;\n  u8 *puStackY_148;\n  Bitvec *pBStackY_144;\n  IntegrityCk *pIStackY_140;\n  code *pcStackY_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 *local_58;\n  sqlite3 *psStack_54;\n  DbPage *pOvflPage;\n  sqlite3 *local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_0015ca30;\n  puVar46 = PTR_s_LE_FTS4_0015c5f4;\n  iVar15 = pCheck->nErr;\n  local_2c = *(sqlite3 **)PTR___stack_chk_guard_0015ca30;\n  if ((iPage == 0) || (pCheck->mxErr == 0)) {\n    pCheck_00 = pCheck;\n    pBVar22 = (BtShared *)isFreeList;\n    pBStack_80 = unaff_s4;\n    if (N != 0) {\n      iVar15 = 0;\nLAB_0008366c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        iPage = (int)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      pCheck_00 = pCheck;\n      local_58 = (Pager *)N;\n      checkAppendMsg(pCheck,(char *)pBVar22,iPage,iVar15);\n      pBStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (BtShared *)(PTR_LAB_0015c718 + 0x3248);\n    pcVar6 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar7 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = (BtShared *)iPage;\n    uVar23 = N;\n    unaff_s3 = unaff_s4;\n    while (pCheck_00 = pCheck, pBVar22 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0) {\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar23 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar22);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_00083534;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pBVar22 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar22->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar22 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar22;\n        uVar23 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar22,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_00083488;\n        }\nLAB_00083518:\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 = 2;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar22 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2) {\n          uVar23 = uVar23 - 2;\n          pBVar22 = (BtShared *)(puVar46 + -0x7864);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar23 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_00083488:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }\n    unaff_s3 = (BtShared *)uVar23;\n    if (uVar23 != 0) {\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_00083658:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar15) {\n        iVar15 = N - (int)unaff_s3;\n        goto LAB_0008366c;\n      }\n    }\n  }\nLAB_00083534:\n  if (local_2c == *(sqlite3 **)puVar5) {\n    return;\n  }\n  pcVar6 = checkTreePage;\n  puVar46 = PTR___stack_chk_fail_0015ca14;\n  (*(code *)PTR___stack_chk_fail_0015ca14)();\n  piVar33 = *(int **)(puVar46 + 0xd9334);\n  pMStack_b4 = (MemPage *)0x0;\n  auStack_b0._28_4_ = *piVar33;\n  pBVar11 = (BtShared *)iPage;\n  pBVar41 = 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 (pBVar22 == (BtShared *)0x0) {\nLAB_00083750:\n    iPage = (int)unaff_s5;\n    iStack_108 = 0;\n    pCheck_00 = pCheck;\n  }\n  else {\n    pcVar9 = pCheck_00->zPfx;\n    pBVar41 = pCheck_00->pBt;\n    iVar15 = pCheck_00->v1;\n    iVar8 = pCheck_00->v2;\n    puVar10 = (undefined1 *)pBVar41->usableSize;\n    iVar17 = checkRef(pCheck_00,(Pgno)pBVar22);\n    unaff_s5 = (BtShared *)iPage;\n    pCheck = pCheck_00;\n    if (iVar17 != 0) goto LAB_00083750;\n    iVar17 = *(int *)(puVar46 + 0xd8ef8);\n    iVar36 = *(int *)(puVar46 + 0xd8f70);\n    pCheck_00->v1 = (int)pBVar22;\n    pCheck_00->zPfx = (char *)(iVar17 + -0x7820);\n    pBVar11 = (BtShared *)(*(code *)(iVar36 + -0xe54))(pBVar41,pBVar22,&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 *)(puVar46 + 0xd8ef8) + -0x77ec);\n        goto LAB_00083b74;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar39 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77c4);\n      iVar17 = uVar39 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 5) - 1);\n      uVar24 = (uint)pBVar11 & 0xffff;\n      pBVar18 = (BtShared *)(uVar24 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar37 = *(Pgno *)(isFreeList + uVar39 + 8);\n        if (pBVar41->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8);\n          checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22);\n        }\n        pBVar11 = (BtShared *)&local_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar37,(i64 *)pBVar11,CONCAT44(local_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 = local_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_00083c5c:\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\n            }\n          }\n          uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);\n          unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);\n          if (uVar42 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }\n          uVar23 = unaff_s7->iSize;\n          if (uVar23 == 0) {\n            puVar26 = (undefined1 *)0x0;\n          }\n          else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24));\nLAB_00083e5c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\n          }\n        }\n      }\n      else {\n        puVar26 = puVar10 + -4;\n        bVar3 = true;\n        iVar36 = *(int *)(puVar46 + 0xd8ef8);\n        pcVar6 = (code *)(*(int *)(puVar46 + 0xd901c) + 0x3088);\n        iVar40 = *(int *)(puVar46 + 0xd8ef8);\n        iVar44 = *(int *)(puVar46 + 0xd8f70);\n        iVar47 = *(int *)(puVar46 + 0xd901c);\n        puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n        pBStack_64 = pBVar22;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar22 = (BtShared *)(uint)*puVar31;\n          if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }\n          else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar31 = puVar31 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = local_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar22 = pBStack_64;\n        pBVar41 = pBVar18;\n        if (bVar3) goto LAB_00083c5c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }\n    else {\n      zFormat = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7814);\nLAB_00083b74:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }\nLAB_00083b8c:\n    if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar46 + 0xd8f70) + -0x138c))(pMStack_b4->pDbPage);\n    }\n    pCheck_00->zPfx = pcVar9;\n    pCheck_00->v1 = iVar15;\n    pCheck_00->v2 = iVar8;\n  }\n  if ((sqlite3 *)auStack_b0._28_4_ == (sqlite3 *)*piVar33) {\n    return;\n  }\n  pcVar6 = *(code **)(puVar46 + 0xd9318);\n  pcVar7 = rtreenode;\n  psVar20 = (sqlite3 *)auStack_b0._28_4_;\n  (*pcVar6)();\n  uVar24 = 0;\n  puVar27 = (undefined4 *)&DAT_000001f8;\n  piVar43 = *(int **)(pcVar6 + 0xd8a28);\n  uStackY_3b0 = 0;\n  uStackY_3ac = 0;\n  uStackY_3a8 = 0;\n  uStackY_3a4 = 0;\n  uStackY_3a0 = 0;\n  uStackY_39c = 0;\n  iStackY_398 = 0;\n  uStackY_394 = 0;\n  iStackY_164 = *piVar43;\n  piStackY_160 = piVar33;\n  pBStackY_15c = pBVar22;\n  pBStackY_158 = unaff_s2;\n  iStackY_154 = iStack_108;\n  pBStackY_150 = pBVar41;\n  pBStackY_14c = (BtShared *)iPage;\n  puStackY_148 = (u8 *)isFreeList;\n  pBStackY_144 = unaff_s7;\n  pIStackY_140 = pCheck_00;\n  pcStackY_13c = pcVar7;\n  (**(code **)(pcVar6 + 0xd89b0))(auStackY_360);\n  psVar21 = (sqlite3 *)pBVar11->pPager;\n  bStackY_34c = (**(code **)(pcVar6 + 0xd8730))(psVar21);\n  if (bStackY_34c - 1 < 5) {\n    bStackY_34b = bStackY_34c << 1;\n    bStackY_349 = (bStackY_34c + 1) * '\b';\n    iStackY_398 = (**(code **)(pcVar6 + 0xd8628))(pBVar11->db);\n    psVar21 = pBVar11->db;\n    iVar15 = (**(code **)(pcVar6 + 0xd862c))(psVar21);\n    if (3 < iVar15) {\n      uVar24 = (uint)bStackY_349;\n      psVar21 = (sqlite3 *)(uint)*(byte *)(iStackY_398 + 3);\n      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b) * uVar24) <= iVar15) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3) != 0) {\n          iVar15 = *(int *)(pcVar6 + 0xd85ec);\n          iVar8 = *(int *)(pcVar6 + 0xd86bc);\n          iVar40 = 0;\n          (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,0);\n          iVar17 = *(int *)(pcVar6 + 0xd85e0);\n          iVar44 = *(int *)(pcVar6 + 0xd85ec);\n          iVar36 = *(int *)(pcVar6 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);\n            if (bStackY_34b != 0) {\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }\n            iVar40 = iVar40 + 1;\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40) break;\n            (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);\n          }\n        }\n        uVar24 = (**(code **)(pcVar6 + 0xd8820))(p);\n        uVar28 = (**(code **)(pcVar6 + 0xd8824))(p);\n        puVar27 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar6 + 0xd866c))(psVar20,uVar28,0xffffffff,*(undefined4 *)(pcVar6 + 0xd85e4))\n        ;\n        (**(code **)(pcVar6 + 0xd8778))(psVar20);\n        psVar21 = psVar20;\n      }\n    }\n  }\n  if (iStackY_164 == *piVar43) {\n    return;\n  }\n  pcVar6 = *(code **)(pcVar6 + 0xd8a0c);\n  (*pcVar6)();\n  iVar15 = (**(code **)(pcVar6 + 0xd8304))(*puVar27);\n  if (iVar15 == 5) {\n    return;\n  }\n  iVar15 = (**(code **)(pcVar6 + 0xd8450))(psVar21,0x18);\n  if (iVar15 == 0) {\n    return;\n  }\n  iVar8 = (**(code **)(pcVar6 + 0xd83c8))(psVar21);\n  iVar17 = *(int *)(iVar15 + 0xc);\n  *(undefined4 *)(iVar15 + 0xc) = *(undefined4 *)(iVar8 + 0x6c);\n  if (iVar17 != 0) {\n    if (uVar24 == 2) {\n      iVar8 = (**(code **)(pcVar6 + 0xd831c))(puVar27[1]);\n      uVar28 = (**(code **)(pcVar6 + 0xd8318))(puVar27[1]);\n      if (iVar8 == 0) goto LAB_000843cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }\n    else {\n      uVar28 = 1;\n      iVar8 = *(int *)(pcVar6 + 0xd82cc) + 0x60cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }\n    (*pcVar7)(iVar15,iVar8,uVar28);\n  }\nLAB_000843cc:\n  iVar8 = (**(code **)(pcVar6 + 0xd831c))(*puVar27);\n  uVar28 = (**(code **)(pcVar6 + 0xd8318))(*puVar27);\n  if (iVar8 == 0) {\n    return;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00084418. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar6 + 0xd84a8))(iVar15,iVar8,uVar28);\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 uVar14;\n  uint uVar13;\n  StrAccum *p;\n  int iVar15;\n  uint uVar16;\n  int iVar17;\n  IntegrityCk *pCheck_00;\n  BtShared *pBVar18;\n  uint uVar19;\n  sqlite3 *psVar20;\n  sqlite3 *psVar21;\n  BtShared *pBVar22;\n  u32 uVar23;\n  char *zFormat;\n  uint uVar24;\n  u32 *puVar25;\n  undefined1 *puVar26;\n  undefined4 *puVar27;\n  undefined4 uVar28;\n  int iVar29;\n  uint uVar30;\n  ushort *puVar31;\n  uint uVar32;\n  BtShared *unaff_s0;\n  int *piVar33;\n  undefined *unaff_s1;\n  Pgno *pPVar34;\n  ushort *puVar35;\n  int iVar36;\n  BtShared *unaff_s2;\n  Pgno PVar37;\n  BtShared *unaff_s3;\n  anon_union_500_3_7c964c52_for_u *paVar38;\n  uint uVar39;\n  int iVar40;\n  BtShared *unaff_s4;\n  BtShared *pBVar41;\n  uint uVar42;\n  BtShared *unaff_s5;\n  int *piVar43;\n  int iVar44;\n  Bitvec *unaff_s7;\n  float *pfVar45;\n  undefined *puVar46;\n  int iVar47;\n  float fVar48;\n  undefined4 uStackY_3b0;\n  undefined4 uStackY_3ac;\n  undefined4 uStackY_3a8;\n  undefined4 uStackY_3a4;\n  undefined4 uStackY_3a0;\n  undefined4 uStackY_39c;\n  int iStackY_398;\n  undefined4 uStackY_394;\n  undefined4 uStackY_390;\n  undefined4 uStackY_38c;\n  float afStackY_388 [10];\n  undefined1 auStackY_360 [20];\n  byte bStackY_34c;\n  byte bStackY_34b;\n  byte bStackY_349;\n  int iStackY_164;\n  int *piStackY_160;\n  BtShared *pBStackY_15c;\n  BtShared *pBStackY_158;\n  int iStackY_154;\n  BtShared *pBStackY_150;\n  BtShared *pBStackY_14c;\n  u8 *puStackY_148;\n  Bitvec *pBStackY_144;\n  IntegrityCk *pIStackY_140;\n  code *pcStackY_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 *local_58;\n  sqlite3 *psStack_54;\n  DbPage *pOvflPage;\n  sqlite3 *local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_0015ca30;\n  puVar46 = PTR_s_LE_FTS4_0015c5f4;\n  iVar15 = pCheck->nErr;\n  local_2c = *(sqlite3 **)PTR___stack_chk_guard_0015ca30;\n  if ((iPage == 0) || (pCheck->mxErr == 0)) {\n    pCheck_00 = pCheck;\n    pBVar22 = (BtShared *)isFreeList;\n    pBStack_80 = unaff_s4;\n    if (N != 0) {\n      iVar15 = 0;\nLAB_0008366c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        iPage = (int)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      pCheck_00 = pCheck;\n      local_58 = (Pager *)N;\n      checkAppendMsg(pCheck,(char *)pBVar22,iPage,iVar15);\n      pBStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (BtShared *)(PTR_LAB_0015c718 + 0x3248);\n    pcVar6 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar7 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = (BtShared *)iPage;\n    uVar23 = N;\n    unaff_s3 = unaff_s4;\n    while (pCheck_00 = pCheck, pBVar22 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0) {\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar23 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar22);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_00083534;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pBVar22 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar22->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar22 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar22;\n        uVar23 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar22,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_00083488;\n        }\nLAB_00083518:\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 = 2;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar22 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2) {\n          uVar23 = uVar23 - 2;\n          pBVar22 = (BtShared *)(puVar46 + -0x7864);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar23 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_00083488:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }\n    unaff_s3 = (BtShared *)uVar23;\n    if (uVar23 != 0) {\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_00083658:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar15) {\n        iVar15 = N - (int)unaff_s3;\n        goto LAB_0008366c;\n      }\n    }\n  }\nLAB_00083534:\n  if (local_2c == *(sqlite3 **)puVar5) {\n    return;\n  }\n  pcVar6 = checkTreePage;\n  puVar46 = PTR___stack_chk_fail_0015ca14;\n  (*(code *)PTR___stack_chk_fail_0015ca14)();\n  piVar33 = *(int **)(puVar46 + 0xd9334);\n  pMStack_b4 = (MemPage *)0x0;\n  auStack_b0._28_4_ = *piVar33;\n  pBVar11 = (BtShared *)iPage;\n  pBVar41 = 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 (pBVar22 == (BtShared *)0x0) {\nLAB_00083750:\n    iPage = (int)unaff_s5;\n    iStack_108 = 0;\n    pCheck_00 = pCheck;\n  }\n  else {\n    pcVar9 = pCheck_00->zPfx;\n    pBVar41 = pCheck_00->pBt;\n    iVar15 = pCheck_00->v1;\n    iVar8 = pCheck_00->v2;\n    puVar10 = (undefined1 *)pBVar41->usableSize;\n    iVar17 = checkRef(pCheck_00,(Pgno)pBVar22);\n    unaff_s5 = (BtShared *)iPage;\n    pCheck = pCheck_00;\n    if (iVar17 != 0) goto LAB_00083750;\n    iVar17 = *(int *)(puVar46 + 0xd8ef8);\n    iVar36 = *(int *)(puVar46 + 0xd8f70);\n    pCheck_00->v1 = (int)pBVar22;\n    pCheck_00->zPfx = (char *)(iVar17 + -0x7820);\n    pBVar11 = (BtShared *)(*(code *)(iVar36 + -0xe54))(pBVar41,pBVar22,&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 *)(puVar46 + 0xd8ef8) + -0x77ec);\n        goto LAB_00083b74;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar39 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77c4);\n      iVar17 = uVar39 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 5) - 1);\n      uVar24 = (uint)pBVar11 & 0xffff;\n      pBVar18 = (BtShared *)(uVar24 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar37 = *(Pgno *)(isFreeList + uVar39 + 8);\n        if (pBVar41->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8);\n          checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22);\n        }\n        pBVar11 = (BtShared *)&local_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar37,(i64 *)pBVar11,CONCAT44(local_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 = local_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_00083c5c:\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\n            }\n          }\n          uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);\n          unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);\n          if (uVar42 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }\n          uVar23 = unaff_s7->iSize;\n          if (uVar23 == 0) {\n            puVar26 = (undefined1 *)0x0;\n          }\n          else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24));\nLAB_00083e5c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\n          }\n        }\n      }\n      else {\n        puVar26 = puVar10 + -4;\n        bVar3 = true;\n        iVar36 = *(int *)(puVar46 + 0xd8ef8);\n        pcVar6 = (code *)(*(int *)(puVar46 + 0xd901c) + 0x3088);\n        iVar40 = *(int *)(puVar46 + 0xd8ef8);\n        iVar44 = *(int *)(puVar46 + 0xd8f70);\n        iVar47 = *(int *)(puVar46 + 0xd901c);\n        puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n        pBStack_64 = pBVar22;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar22 = (BtShared *)(uint)*puVar31;\n          if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }\n          else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar31 = puVar31 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = local_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar22 = pBStack_64;\n        pBVar41 = pBVar18;\n        if (bVar3) goto LAB_00083c5c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }\n    else {\n      zFormat = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7814);\nLAB_00083b74:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }\nLAB_00083b8c:\n    if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar46 + 0xd8f70) + -0x138c))(pMStack_b4->pDbPage);\n    }\n    pCheck_00->zPfx = pcVar9;\n    pCheck_00->v1 = iVar15;\n    pCheck_00->v2 = iVar8;\n  }\n  if ((sqlite3 *)auStack_b0._28_4_ == (sqlite3 *)*piVar33) {\n    return;\n  }\n  pcVar6 = *(code **)(puVar46 + 0xd9318);\n  pcVar7 = rtreenode;\n  psVar20 = (sqlite3 *)auStack_b0._28_4_;\n  (*pcVar6)();\n  uVar24 = 0;\n  puVar27 = (undefined4 *)&DAT_000001f8;\n  piVar43 = *(int **)(pcVar6 + 0xd8a28);\n  uStackY_3b0 = 0;\n  uStackY_3ac = 0;\n  uStackY_3a8 = 0;\n  uStackY_3a4 = 0;\n  uStackY_3a0 = 0;\n  uStackY_39c = 0;\n  iStackY_398 = 0;\n  uStackY_394 = 0;\n  iStackY_164 = *piVar43;\n  piStackY_160 = piVar33;\n  pBStackY_15c = pBVar22;\n  pBStackY_158 = unaff_s2;\n  iStackY_154 = iStack_108;\n  pBStackY_150 = pBVar41;\n  pBStackY_14c = (BtShared *)iPage;\n  puStackY_148 = (u8 *)isFreeList;\n  pBStackY_144 = unaff_s7;\n  pIStackY_140 = pCheck_00;\n  pcStackY_13c = pcVar7;\n  (**(code **)(pcVar6 + 0xd89b0))(auStackY_360);\n  psVar21 = (sqlite3 *)pBVar11->pPager;\n  bStackY_34c = (**(code **)(pcVar6 + 0xd8730))(psVar21);\n  if (bStackY_34c - 1 < 5) {\n    bStackY_34b = bStackY_34c << 1;\n    bStackY_349 = (bStackY_34c + 1) * '\b';\n    iStackY_398 = (**(code **)(pcVar6 + 0xd8628))(pBVar11->db);\n    psVar21 = pBVar11->db;\n    iVar15 = (**(code **)(pcVar6 + 0xd862c))(psVar21);\n    if (3 < iVar15) {\n      uVar24 = (uint)bStackY_349;\n      psVar21 = (sqlite3 *)(uint)*(byte *)(iStackY_398 + 3);\n      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b) * uVar24) <= iVar15) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3) != 0) {\n          iVar15 = *(int *)(pcVar6 + 0xd85ec);\n          iVar8 = *(int *)(pcVar6 + 0xd86bc);\n          iVar40 = 0;\n          (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,0);\n          iVar17 = *(int *)(pcVar6 + 0xd85e0);\n          iVar44 = *(int *)(pcVar6 + 0xd85ec);\n          iVar36 = *(int *)(pcVar6 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);\n            if (bStackY_34b != 0) {\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }\n            iVar40 = iVar40 + 1;\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40) break;\n            (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);\n          }\n        }\n        uVar24 = (**(code **)(pcVar6 + 0xd8820))(p);\n        uVar28 = (**(code **)(pcVar6 + 0xd8824))(p);\n        puVar27 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar6 + 0xd866c))(psVar20,uVar28,0xffffffff,*(undefined4 *)(pcVar6 + 0xd85e4))\n        ;\n        (**(code **)(pcVar6 + 0xd8778))(psVar20);\n        psVar21 = psVar20;\n      }\n    }\n  }\n  if (iStackY_164 == *piVar43) {\n    return;\n  }\n  pcVar6 = *(code **)(pcVar6 + 0xd8a0c);\n  (*pcVar6)();\n  iVar15 = (**(code **)(pcVar6 + 0xd8304))(*puVar27);\n  if (iVar15 == 5) {\n    return;\n  }\n  iVar15 = (**(code **)(pcVar6 + 0xd8450))(psVar21,0x18);\n  if (iVar15 == 0) {\n    return;\n  }\n  iVar8 = (**(code **)(pcVar6 + 0xd83c8))(psVar21);\n  iVar17 = *(int *)(iVar15 + 0xc);\n  *(undefined4 *)(iVar15 + 0xc) = *(undefined4 *)(iVar8 + 0x6c);\n  if (iVar17 != 0) {\n    if (uVar24 == 2) {\n      iVar8 = (**(code **)(pcVar6 + 0xd831c))(puVar27[1]);\n      uVar28 = (**(code **)(pcVar6 + 0xd8318))(puVar27[1]);\n      if (iVar8 == 0) goto LAB_000843cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }\n    else {\n      uVar28 = 1;\n      iVar8 = *(int *)(pcVar6 + 0xd82cc) + 0x60cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }\n    (*pcVar7)(iVar15,iVar8,uVar28);\n  }\nLAB_000843cc:\n  iVar8 = (**(code **)(pcVar6 + 0xd831c))(*puVar27);\n  uVar28 = (**(code **)(pcVar6 + 0xd8318))(*puVar27);\n  if (iVar8 == 0) {\n    return;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00084418. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar6 + 0xd84a8))(iVar15,iVar8,uVar28);\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 uVar14;\n  uint uVar13;\n  StrAccum *p;\n  int iVar15;\n  uint uVar16;\n  int iVar17;\n  IntegrityCk *pCheck_00;\n  BtShared *pBVar18;\n  uint uVar19;\n  sqlite3 *psVar20;\n  sqlite3 *psVar21;\n  BtShared *pBVar22;\n  u32 uVar23;\n  char *zFormat;\n  uint uVar24;\n  u32 *puVar25;\n  undefined1 *puVar26;\n  undefined4 *puVar27;\n  undefined4 uVar28;\n  int iVar29;\n  uint uVar30;\n  ushort *puVar31;\n  uint uVar32;\n  BtShared *unaff_s0;\n  int *piVar33;\n  undefined *unaff_s1;\n  Pgno *pPVar34;\n  ushort *puVar35;\n  int iVar36;\n  BtShared *unaff_s2;\n  Pgno PVar37;\n  BtShared *unaff_s3;\n  anon_union_500_3_7c964c52_for_u *paVar38;\n  uint uVar39;\n  int iVar40;\n  BtShared *unaff_s4;\n  BtShared *pBVar41;\n  uint uVar42;\n  BtShared *unaff_s5;\n  int *piVar43;\n  int iVar44;\n  Bitvec *unaff_s7;\n  float *pfVar45;\n  undefined *puVar46;\n  int iVar47;\n  float fVar48;\n  undefined4 uStackY_3b0;\n  undefined4 uStackY_3ac;\n  undefined4 uStackY_3a8;\n  undefined4 uStackY_3a4;\n  undefined4 uStackY_3a0;\n  undefined4 uStackY_39c;\n  int iStackY_398;\n  undefined4 uStackY_394;\n  undefined4 uStackY_390;\n  undefined4 uStackY_38c;\n  float afStackY_388 [10];\n  undefined1 auStackY_360 [20];\n  byte bStackY_34c;\n  byte bStackY_34b;\n  byte bStackY_349;\n  int iStackY_164;\n  int *piStackY_160;\n  BtShared *pBStackY_15c;\n  BtShared *pBStackY_158;\n  int iStackY_154;\n  BtShared *pBStackY_150;\n  BtShared *pBStackY_14c;\n  u8 *puStackY_148;\n  Bitvec *pBStackY_144;\n  IntegrityCk *pIStackY_140;\n  code *pcStackY_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 *local_58;\n  sqlite3 *psStack_54;\n  DbPage *pOvflPage;\n  sqlite3 *local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_0015ca30;\n  puVar46 = PTR_s_LE_FTS4_0015c5f4;\n  iVar15 = pCheck->nErr;\n  local_2c = *(sqlite3 **)PTR___stack_chk_guard_0015ca30;\n  if ((iPage == 0) || (pCheck->mxErr == 0)) {\n    pCheck_00 = pCheck;\n    pBVar22 = (BtShared *)isFreeList;\n    pBStack_80 = unaff_s4;\n    if (N != 0) {\n      iVar15 = 0;\nLAB_0008366c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        iPage = (int)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      pCheck_00 = pCheck;\n      local_58 = (Pager *)N;\n      checkAppendMsg(pCheck,(char *)pBVar22,iPage,iVar15);\n      pBStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (BtShared *)(PTR_LAB_0015c718 + 0x3248);\n    pcVar6 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar7 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = (BtShared *)iPage;\n    uVar23 = N;\n    unaff_s3 = unaff_s4;\n    while (pCheck_00 = pCheck, pBVar22 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0) {\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar23 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar22);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_00083534;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pBVar22 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar22->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar22 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar22;\n        uVar23 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar22,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_00083488;\n        }\nLAB_00083518:\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 = 2;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar22 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2) {\n          uVar23 = uVar23 - 2;\n          pBVar22 = (BtShared *)(puVar46 + -0x7864);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar23 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_00083488:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }\n    unaff_s3 = (BtShared *)uVar23;\n    if (uVar23 != 0) {\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_00083658:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar15) {\n        iVar15 = N - (int)unaff_s3;\n        goto LAB_0008366c;\n      }\n    }\n  }\nLAB_00083534:\n  if (local_2c == *(sqlite3 **)puVar5) {\n    return;\n  }\n  pcVar6 = checkTreePage;\n  puVar46 = PTR___stack_chk_fail_0015ca14;\n  (*(code *)PTR___stack_chk_fail_0015ca14)();\n  piVar33 = *(int **)(puVar46 + 0xd9334);\n  pMStack_b4 = (MemPage *)0x0;\n  auStack_b0._28_4_ = *piVar33;\n  pBVar11 = (BtShared *)iPage;\n  pBVar41 = 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 (pBVar22 == (BtShared *)0x0) {\nLAB_00083750:\n    iPage = (int)unaff_s5;\n    iStack_108 = 0;\n    pCheck_00 = pCheck;\n  }\n  else {\n    pcVar9 = pCheck_00->zPfx;\n    pBVar41 = pCheck_00->pBt;\n    iVar15 = pCheck_00->v1;\n    iVar8 = pCheck_00->v2;\n    puVar10 = (undefined1 *)pBVar41->usableSize;\n    iVar17 = checkRef(pCheck_00,(Pgno)pBVar22);\n    unaff_s5 = (BtShared *)iPage;\n    pCheck = pCheck_00;\n    if (iVar17 != 0) goto LAB_00083750;\n    iVar17 = *(int *)(puVar46 + 0xd8ef8);\n    iVar36 = *(int *)(puVar46 + 0xd8f70);\n    pCheck_00->v1 = (int)pBVar22;\n    pCheck_00->zPfx = (char *)(iVar17 + -0x7820);\n    pBVar11 = (BtShared *)(*(code *)(iVar36 + -0xe54))(pBVar41,pBVar22,&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 *)(puVar46 + 0xd8ef8) + -0x77ec);\n        goto LAB_00083b74;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar39 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77c4);\n      iVar17 = uVar39 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 5) - 1);\n      uVar24 = (uint)pBVar11 & 0xffff;\n      pBVar18 = (BtShared *)(uVar24 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar37 = *(Pgno *)(isFreeList + uVar39 + 8);\n        if (pBVar41->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8);\n          checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22);\n        }\n        pBVar11 = (BtShared *)&local_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar37,(i64 *)pBVar11,CONCAT44(local_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 = local_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_00083c5c:\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\n            }\n          }\n          uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);\n          unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);\n          if (uVar42 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }\n          uVar23 = unaff_s7->iSize;\n          if (uVar23 == 0) {\n            puVar26 = (undefined1 *)0x0;\n          }\n          else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24));\nLAB_00083e5c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\n          }\n        }\n      }\n      else {\n        puVar26 = puVar10 + -4;\n        bVar3 = true;\n        iVar36 = *(int *)(puVar46 + 0xd8ef8);\n        pcVar6 = (code *)(*(int *)(puVar46 + 0xd901c) + 0x3088);\n        iVar40 = *(int *)(puVar46 + 0xd8ef8);\n        iVar44 = *(int *)(puVar46 + 0xd8f70);\n        iVar47 = *(int *)(puVar46 + 0xd901c);\n        puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n        pBStack_64 = pBVar22;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar22 = (BtShared *)(uint)*puVar31;\n          if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }\n          else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar31 = puVar31 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = local_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar22 = pBStack_64;\n        pBVar41 = pBVar18;\n        if (bVar3) goto LAB_00083c5c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }\n    else {\n      zFormat = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7814);\nLAB_00083b74:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }\nLAB_00083b8c:\n    if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar46 + 0xd8f70) + -0x138c))(pMStack_b4->pDbPage);\n    }\n    pCheck_00->zPfx = pcVar9;\n    pCheck_00->v1 = iVar15;\n    pCheck_00->v2 = iVar8;\n  }\n  if ((sqlite3 *)auStack_b0._28_4_ == (sqlite3 *)*piVar33) {\n    return;\n  }\n  pcVar6 = *(code **)(puVar46 + 0xd9318);\n  pcVar7 = rtreenode;\n  psVar20 = (sqlite3 *)auStack_b0._28_4_;\n  (*pcVar6)();\n  uVar24 = 0;\n  puVar27 = (undefined4 *)&DAT_000001f8;\n  piVar43 = *(int **)(pcVar6 + 0xd8a28);\n  uStackY_3b0 = 0;\n  uStackY_3ac = 0;\n  uStackY_3a8 = 0;\n  uStackY_3a4 = 0;\n  uStackY_3a0 = 0;\n  uStackY_39c = 0;\n  iStackY_398 = 0;\n  uStackY_394 = 0;\n  iStackY_164 = *piVar43;\n  piStackY_160 = piVar33;\n  pBStackY_15c = pBVar22;\n  pBStackY_158 = unaff_s2;\n  iStackY_154 = iStack_108;\n  pBStackY_150 = pBVar41;\n  pBStackY_14c = (BtShared *)iPage;\n  puStackY_148 = (u8 *)isFreeList;\n  pBStackY_144 = unaff_s7;\n  pIStackY_140 = pCheck_00;\n  pcStackY_13c = pcVar7;\n  (**(code **)(pcVar6 + 0xd89b0))(auStackY_360);\n  psVar21 = (sqlite3 *)pBVar11->pPager;\n  bStackY_34c = (**(code **)(pcVar6 + 0xd8730))(psVar21);\n  if (bStackY_34c - 1 < 5) {\n    bStackY_34b = bStackY_34c << 1;\n    bStackY_349 = (bStackY_34c + 1) * '\b';\n    iStackY_398 = (**(code **)(pcVar6 + 0xd8628))(pBVar11->db);\n    psVar21 = pBVar11->db;\n    iVar15 = (**(code **)(pcVar6 + 0xd862c))(psVar21);\n    if (3 < iVar15) {\n      uVar24 = (uint)bStackY_349;\n      psVar21 = (sqlite3 *)(uint)*(byte *)(iStackY_398 + 3);\n      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b) * uVar24) <= iVar15) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3) != 0) {\n          iVar15 = *(int *)(pcVar6 + 0xd85ec);\n          iVar8 = *(int *)(pcVar6 + 0xd86bc);\n          iVar40 = 0;\n          (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,0);\n          iVar17 = *(int *)(pcVar6 + 0xd85e0);\n          iVar44 = *(int *)(pcVar6 + 0xd85ec);\n          iVar36 = *(int *)(pcVar6 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);\n            if (bStackY_34b != 0) {\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }\n            iVar40 = iVar40 + 1;\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40) break;\n            (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);\n          }\n        }\n        uVar24 = (**(code **)(pcVar6 + 0xd8820))(p);\n        uVar28 = (**(code **)(pcVar6 + 0xd8824))(p);\n        puVar27 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar6 + 0xd866c))(psVar20,uVar28,0xffffffff,*(undefined4 *)(pcVar6 + 0xd85e4))\n        ;\n        (**(code **)(pcVar6 + 0xd8778))(psVar20);\n        psVar21 = psVar20;\n      }\n    }\n  }\n  if (iStackY_164 == *piVar43) {\n    return;\n  }\n  pcVar6 = *(code **)(pcVar6 + 0xd8a0c);\n  (*pcVar6)();\n  iVar15 = (**(code **)(pcVar6 + 0xd8304))(*puVar27);\n  if (iVar15 == 5) {\n    return;\n  }\n  iVar15 = (**(code **)(pcVar6 + 0xd8450))(psVar21,0x18);\n  if (iVar15 == 0) {\n    return;\n  }\n  iVar8 = (**(code **)(pcVar6 + 0xd83c8))(psVar21);\n  iVar17 = *(int *)(iVar15 + 0xc);\n  *(undefined4 *)(iVar15 + 0xc) = *(undefined4 *)(iVar8 + 0x6c);\n  if (iVar17 != 0) {\n    if (uVar24 == 2) {\n      iVar8 = (**(code **)(pcVar6 + 0xd831c))(puVar27[1]);\n      uVar28 = (**(code **)(pcVar6 + 0xd8318))(puVar27[1]);\n      if (iVar8 == 0) goto LAB_000843cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }\n    else {\n      uVar28 = 1;\n      iVar8 = *(int *)(pcVar6 + 0xd82cc) + 0x60cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }\n    (*pcVar7)(iVar15,iVar8,uVar28);\n  }\nLAB_000843cc:\n  iVar8 = (**(code **)(pcVar6 + 0xd831c))(*puVar27);\n  uVar28 = (**(code **)(pcVar6 + 0xd8318))(*puVar27);\n  if (iVar8 == 0) {\n    return;\n  }\n                    /* WARNING: Could not recover jumptable at 0x00084418. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (**(code **)(pcVar6 + 0xd84a8))(iVar15,iVar8,uVar28);\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 uVar14;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "StrAccum *p;" type_identifier (pointer_declarator "*p" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "IntegrityCk *pCheck_00;" type_identifier (pointer_declarator "*pCheck_00" * identifier) ;) (declaration "BtShared *pBVar18;" type_identifier (pointer_declarator "*pBVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "sqlite3 *psVar20;" type_identifier (pointer_declarator "*psVar20" * identifier) ;) (declaration "sqlite3 *psVar21;" type_identifier (pointer_declarator "*psVar21" * identifier) ;) (declaration "BtShared *pBVar22;" type_identifier (pointer_declarator "*pBVar22" * identifier) ;) (declaration "u32 uVar23;" type_identifier identifier ;) (declaration "char *zFormat;" primitive_type (pointer_declarator "*zFormat" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "u32 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "undefined1 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "undefined4 *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "undefined4 uVar28;" type_identifier identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "ushort *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "uint uVar32;" type_identifier identifier ;) (declaration "BtShared *unaff_s0;" type_identifier (pointer_declarator "*unaff_s0" * identifier) ;) (declaration "int *piVar33;" primitive_type (pointer_declarator "*piVar33" * identifier) ;) (declaration "undefined *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "Pgno *pPVar34;" type_identifier (pointer_declarator "*pPVar34" * identifier) ;) (declaration "ushort *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "int iVar36;" primitive_type identifier ;) (declaration "BtShared *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "Pgno PVar37;" type_identifier identifier ;) (declaration "BtShared *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "anon_union_500_3_7c964c52_for_u *paVar38;" type_identifier (pointer_declarator "*paVar38" * identifier) ;) (declaration "uint uVar39;" type_identifier identifier ;) (declaration "int iVar40;" primitive_type identifier ;) (declaration "BtShared *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "BtShared *pBVar41;" type_identifier (pointer_declarator "*pBVar41" * identifier) ;) (declaration "uint uVar42;" type_identifier identifier ;) (declaration "BtShared *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "int *piVar43;" primitive_type (pointer_declarator "*piVar43" * identifier) ;) (declaration "int iVar44;" primitive_type identifier ;) (declaration "Bitvec *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "float *pfVar45;" primitive_type (pointer_declarator "*pfVar45" * identifier) ;) (declaration "undefined *puVar46;" type_identifier (pointer_declarator "*puVar46" * identifier) ;) (declaration "int iVar47;" primitive_type identifier ;) (declaration "float fVar48;" primitive_type identifier ;) (declaration "undefined4 uStackY_3b0;" type_identifier identifier ;) (declaration "undefined4 uStackY_3ac;" type_identifier identifier ;) (declaration "undefined4 uStackY_3a8;" type_identifier identifier ;) (declaration "undefined4 uStackY_3a4;" type_identifier identifier ;) (declaration "undefined4 uStackY_3a0;" type_identifier identifier ;) (declaration "undefined4 uStackY_39c;" type_identifier identifier ;) (declaration "int iStackY_398;" primitive_type identifier ;) (declaration "undefined4 uStackY_394;" type_identifier identifier ;) (declaration "undefined4 uStackY_390;" type_identifier identifier ;) (declaration "undefined4 uStackY_38c;" type_identifier identifier ;) (declaration "float afStackY_388 [10];" primitive_type (array_declarator "afStackY_388 [10]" identifier [ number_literal ]) ;) (declaration "undefined1 auStackY_360 [20];" type_identifier (array_declarator "auStackY_360 [20]" identifier [ number_literal ]) ;) (declaration "byte bStackY_34c;" type_identifier identifier ;) (declaration "byte bStackY_34b;" type_identifier identifier ;) (declaration "byte bStackY_349;" type_identifier identifier ;) (declaration "int iStackY_164;" primitive_type identifier ;) (declaration "int *piStackY_160;" primitive_type (pointer_declarator "*piStackY_160" * identifier) ;) (declaration "BtShared *pBStackY_15c;" type_identifier (pointer_declarator "*pBStackY_15c" * identifier) ;) (declaration "BtShared *pBStackY_158;" type_identifier (pointer_declarator "*pBStackY_158" * identifier) ;) (declaration "int iStackY_154;" primitive_type identifier ;) (declaration "BtShared *pBStackY_150;" type_identifier (pointer_declarator "*pBStackY_150" * identifier) ;) (declaration "BtShared *pBStackY_14c;" type_identifier (pointer_declarator "*pBStackY_14c" * identifier) ;) (declaration "u8 *puStackY_148;" type_identifier (pointer_declarator "*puStackY_148" * identifier) ;) (declaration "Bitvec *pBStackY_144;" type_identifier (pointer_declarator "*pBStackY_144" * identifier) ;) (declaration "IntegrityCk *pIStackY_140;" type_identifier (pointer_declarator "*pIStackY_140" * identifier) ;) (declaration "code *pcStackY_13c;" type_identifier (pointer_declarator "*pcStackY_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 *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "sqlite3 *psStack_54;" type_identifier (pointer_declarator "*psStack_54" * identifier) ;) (declaration "DbPage *pOvflPage;" type_identifier (pointer_declarator "*pOvflPage" * identifier) ;) (declaration "sqlite3 *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar5 = PTR___stack_chk_guard_0015ca30;" (assignment_expression "puVar5 = PTR___stack_chk_guard_0015ca30" identifier = identifier) ;) (expression_statement "puVar46 = PTR_s_LE_FTS4_0015c5f4;" (assignment_expression "puVar46 = PTR_s_LE_FTS4_0015c5f4" identifier = identifier) ;) (expression_statement "iVar15 = pCheck->nErr;" (assignment_expression "iVar15 = pCheck->nErr" identifier = (field_expression "pCheck->nErr" identifier -> field_identifier)) ;) (expression_statement "local_2c = *(sqlite3 **)PTR___stack_chk_guard_0015ca30;" (assignment_expression "local_2c = *(sqlite3 **)PTR___stack_chk_guard_0015ca30" identifier = (pointer_expression "*(sqlite3 **)PTR___stack_chk_guard_0015ca30" * (cast_expression "(sqlite3 **)PTR___stack_chk_guard_0015ca30" ( (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    pBVar22 = (BtShared *)isFreeList;\n    pBStack_80 = unaff_s4;\n    if (N != 0) {\n      iVar15 = 0;\nLAB_0008366c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        iPage = (int)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      pCheck_00 = pCheck;\n      local_58 = (Pager *)N;\n      checkAppendMsg(pCheck,(char *)pBVar22,iPage,iVar15);\n      pBStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (BtShared *)(PTR_LAB_0015c718 + 0x3248);\n    pcVar6 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar7 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = (BtShared *)iPage;\n    uVar23 = N;\n    unaff_s3 = unaff_s4;\n    while (pCheck_00 = pCheck, pBVar22 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0) {\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar23 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar22);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_00083534;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pBVar22 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar22->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar22 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar22;\n        uVar23 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar22,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_00083488;\n        }\nLAB_00083518:\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 = 2;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar22 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2) {\n          uVar23 = uVar23 - 2;\n          pBVar22 = (BtShared *)(puVar46 + -0x7864);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar23 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_00083488:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }\n    unaff_s3 = (BtShared *)uVar23;\n    if (uVar23 != 0) {\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_00083658:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar15) {\n        iVar15 = N - (int)unaff_s3;\n        goto LAB_0008366c;\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    pBVar22 = (BtShared *)isFreeList;\n    pBStack_80 = unaff_s4;\n    if (N != 0) {\n      iVar15 = 0;\nLAB_0008366c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        iPage = (int)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      pCheck_00 = pCheck;\n      local_58 = (Pager *)N;\n      checkAppendMsg(pCheck,(char *)pBVar22,iPage,iVar15);\n      pBStack_80 = unaff_s4;\n    }\n  }" { (expression_statement "pCheck_00 = pCheck;" (assignment_expression "pCheck_00 = pCheck" identifier = identifier) ;) (expression_statement "pBVar22 = (BtShared *)isFreeList;" (assignment_expression "pBVar22 = (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      iVar15 = 0;\nLAB_0008366c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        iPage = (int)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      pCheck_00 = pCheck;\n      local_58 = (Pager *)N;\n      checkAppendMsg(pCheck,(char *)pBVar22,iPage,iVar15);\n      pBStack_80 = unaff_s4;\n    }" if (parenthesized_expression "(N != 0)" ( (binary_expression "N != 0" identifier != number_literal) )) (compound_statement "{\n      iVar15 = 0;\nLAB_0008366c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        iPage = (int)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      pCheck_00 = pCheck;\n      local_58 = (Pager *)N;\n      checkAppendMsg(pCheck,(char *)pBVar22,iPage,iVar15);\n      pBStack_80 = unaff_s4;\n    }" { (expression_statement "iVar15 = 0;" (assignment_expression "iVar15 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0008366c:\n      if (isFreeList == 0) {\n        iPage = (int)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        iPage = (int)(PTR_LAB_0015c5e8 + 0x79d0);\n      }" statement_identifier : (if_statement "if (isFreeList == 0) {\n        iPage = (int)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        iPage = (int)(PTR_LAB_0015c5e8 + 0x79d0);\n      }" if (parenthesized_expression "(isFreeList == 0)" ( (binary_expression "isFreeList == 0" identifier == number_literal) )) (compound_statement "{\n        iPage = (int)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }" { (expression_statement "iPage = (int)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);" (assignment_expression "iPage = (int)(PTR_s_LE_FTS4_0015c5f4 + -0x7894)" identifier = (cast_expression "(int)(PTR_s_LE_FTS4_0015c5f4 + -0x7894)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(PTR_s_LE_FTS4_0015c5f4 + -0x7894)" ( (binary_expression "PTR_s_LE_FTS4_0015c5f4 + -0x7894" identifier + number_literal) )))) ;) }) (else_clause "else {\n        iPage = (int)(PTR_LAB_0015c5e8 + 0x79d0);\n      }" else (compound_statement "{\n        iPage = (int)(PTR_LAB_0015c5e8 + 0x79d0);\n      }" { (expression_statement "iPage = (int)(PTR_LAB_0015c5e8 + 0x79d0);" (assignment_expression "iPage = (int)(PTR_LAB_0015c5e8 + 0x79d0)" identifier = (cast_expression "(int)(PTR_LAB_0015c5e8 + 0x79d0)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(PTR_LAB_0015c5e8 + 0x79d0)" ( (binary_expression "PTR_LAB_0015c5e8 + 0x79d0" identifier + number_literal) )))) ;) })))) (expression_statement "pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);" (assignment_expression "pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x783c)" identifier = (cast_expression "(BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x783c)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_LE_FTS4_0015c5f4 + -0x783c)" ( (binary_expression "PTR_s_LE_FTS4_0015c5f4 + -0x783c" identifier + number_literal) )))) ;) (expression_statement "pCheck_00 = pCheck;" (assignment_expression "pCheck_00 = pCheck" identifier = identifier) ;) (expression_statement "local_58 = (Pager *)N;" (assignment_expression "local_58 = (Pager *)N" identifier = (cast_expression "(Pager *)N" ( (type_descriptor "Pager *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "checkAppendMsg(pCheck,(char *)pBVar22,iPage,iVar15);" (call_expression "checkAppendMsg(pCheck,(char *)pBVar22,iPage,iVar15)" identifier (argument_list "(pCheck,(char *)pBVar22,iPage,iVar15)" ( identifier , (cast_expression "(char *)pBVar22" ( (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_0015c718 + 0x31a0;\n    unaff_s5 = (BtShared *)(PTR_LAB_0015c718 + 0x3248);\n    pcVar6 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar7 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = (BtShared *)iPage;\n    uVar23 = N;\n    unaff_s3 = unaff_s4;\n    while (pCheck_00 = pCheck, pBVar22 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0) {\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar23 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar22);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_00083534;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pBVar22 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar22->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar22 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar22;\n        uVar23 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar22,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_00083488;\n        }\nLAB_00083518:\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 = 2;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar22 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2) {\n          uVar23 = uVar23 - 2;\n          pBVar22 = (BtShared *)(puVar46 + -0x7864);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar23 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_00083488:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }\n    unaff_s3 = (BtShared *)uVar23;\n    if (uVar23 != 0) {\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_00083658:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar15) {\n        iVar15 = N - (int)unaff_s3;\n        goto LAB_0008366c;\n      }\n    }\n  }" else (compound_statement "{\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (BtShared *)(PTR_LAB_0015c718 + 0x3248);\n    pcVar6 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar7 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = (BtShared *)iPage;\n    uVar23 = N;\n    unaff_s3 = unaff_s4;\n    while (pCheck_00 = pCheck, pBVar22 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0) {\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar23 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar22);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_00083534;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pBVar22 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar22->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar22 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar22;\n        uVar23 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar22,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_00083488;\n        }\nLAB_00083518:\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 = 2;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar22 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2) {\n          uVar23 = uVar23 - 2;\n          pBVar22 = (BtShared *)(puVar46 + -0x7864);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar23 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_00083488:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }\n    unaff_s3 = (BtShared *)uVar23;\n    if (uVar23 != 0) {\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_00083658:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar15) {\n        iVar15 = N - (int)unaff_s3;\n        goto LAB_0008366c;\n      }\n    }\n  }" { (expression_statement "unaff_s1 = PTR_LAB_0015c718 + 0x31a0;" (assignment_expression "unaff_s1 = PTR_LAB_0015c718 + 0x31a0" identifier = (binary_expression "PTR_LAB_0015c718 + 0x31a0" identifier + number_literal)) ;) (expression_statement "unaff_s5 = (BtShared *)(PTR_LAB_0015c718 + 0x3248);" (assignment_expression "unaff_s5 = (BtShared *)(PTR_LAB_0015c718 + 0x3248)" identifier = (cast_expression "(BtShared *)(PTR_LAB_0015c718 + 0x3248)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015c718 + 0x3248)" ( (binary_expression "PTR_LAB_0015c718 + 0x3248" identifier + number_literal) )))) ;) (expression_statement "pcVar6 = (code *)(PTR_LAB_0015c66c + -0x138c);" (assignment_expression "pcVar6 = (code *)(PTR_LAB_0015c66c + -0x138c)" identifier = (cast_expression "(code *)(PTR_LAB_0015c66c + -0x138c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015c66c + -0x138c)" ( (binary_expression "PTR_LAB_0015c66c + -0x138c" identifier + number_literal) )))) ;) (expression_statement "pcVar7 = (code *)(PTR_LAB_0015c718 + 0x3088);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_0015c718 + 0x3088)" identifier = (cast_expression "(code *)(PTR_LAB_0015c718 + 0x3088)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015c718 + 0x3088)" ( (binary_expression "PTR_LAB_0015c718 + 0x3088" 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 "uVar23 = N;" (assignment_expression "uVar23 = N" identifier = identifier) ;) (expression_statement "unaff_s3 = unaff_s4;" (assignment_expression "unaff_s3 = unaff_s4" identifier = identifier) ;) (while_statement "while (pCheck_00 = pCheck, pBVar22 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0) {\n      iPage = (int)&pOvflPage;\n      unaff_s3 = (BtShared *)(uVar23 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar22);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_00083534;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pBVar22 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar22->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar22 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar22;\n        uVar23 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar22,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_00083488;\n        }\nLAB_00083518:\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 = 2;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar22 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2) {\n          uVar23 = uVar23 - 2;\n          pBVar22 = (BtShared *)(puVar46 + -0x7864);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar23 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_00083488:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (BtShared *)0x0) || (pCheck->mxErr == 0)) break;\n    }" while (parenthesized_expression "(pCheck_00 = pCheck, pBVar22 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0)" ( (comma_expression "pCheck_00 = pCheck, pBVar22 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0" (assignment_expression "pCheck_00 = pCheck" identifier = identifier) , (comma_expression "pBVar22 = unaff_s0, iVar8 = checkRef(pCheck,(Pgno)unaff_s0),\n          pBStack_80 = unaff_s3, iVar8 == 0" (assignment_expression "pBVar22 = 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 *)(uVar23 - 1);\n      iVar8 = (*pCheck->pPager->xGet)(pCheck->pPager,(Pgno)unaff_s0,(DbPage **)iPage,0);\n      pBStack_80 = unaff_s3;\n      if (iVar8 != 0) {\n        pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar22);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_00083534;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pBVar22 = pCheck->pBt;\n      unaff_s7 = (Bitvec *)pOvflPage->pData;\n      puVar4 = &pBVar22->autoVacuum;\n      if (isFreeList == 0) {\n        pBVar22 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar22;\n        uVar23 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar22,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_00083488;\n        }\nLAB_00083518:\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 = 2;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar22 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2) {\n          uVar23 = uVar23 - 2;\n          pBVar22 = (BtShared *)(puVar46 + -0x7864);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar23 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_00083488:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_00083518;\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 *)(uVar23 - 1);" (assignment_expression "unaff_s3 = (BtShared *)(uVar23 - 1)" identifier = (cast_expression "(BtShared *)(uVar23 - 1)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 - 1)" ( (binary_expression "uVar23 - 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        pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar22);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_00083534;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        pCheck_00 = pCheck;\n        iPage = (int)unaff_s0;\n        checkAppendMsg(pCheck,(char *)pBVar22);\n        if (unaff_s3 == (BtShared *)0x0) goto LAB_00083534;\n        iVar8 = pCheck->nErr;\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }" { (expression_statement "pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);" (assignment_expression "pBVar22 = (BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x787c)" identifier = (cast_expression "(BtShared *)(PTR_s_LE_FTS4_0015c5f4 + -0x787c)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_LE_FTS4_0015c5f4 + -0x787c)" ( (binary_expression "PTR_s_LE_FTS4_0015c5f4 + -0x787c" 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 *)pBVar22);" (call_expression "checkAppendMsg(pCheck,(char *)pBVar22)" identifier (argument_list "(pCheck,(char *)pBVar22)" ( identifier , (cast_expression "(char *)pBVar22" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (if_statement "if (unaff_s3 == (BtShared *)0x0) goto LAB_00083534;" 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_00083534;" 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_00083658;" goto statement_identifier ;) })) (expression_statement "pBVar22 = pCheck->pBt;" (assignment_expression "pBVar22 = 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 = &pBVar22->autoVacuum;" (assignment_expression "puVar4 = &pBVar22->autoVacuum" identifier = (pointer_expression "&pBVar22->autoVacuum" & (field_expression "pBVar22->autoVacuum" identifier -> field_identifier))) ;) (if_statement "if (isFreeList == 0) {\n        pBVar22 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar22;\n        uVar23 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar22,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_00083488;\n        }\nLAB_00083518:\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 = 2;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar22 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2) {\n          uVar23 = uVar23 - 2;\n          pBVar22 = (BtShared *)(puVar46 + -0x7864);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar23 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_00083488:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_00083518;\n      }" if (parenthesized_expression "(isFreeList == 0)" ( (binary_expression "isFreeList == 0" identifier == number_literal) )) (compound_statement "{\n        pBVar22 = (BtShared *)unaff_s7->iSize;\n        pBVar11 = pBVar22;\n        uVar23 = (u32)unaff_s3;\n        if ((*puVar4 != '\0') && (iPage = (int)&DAT_00000004, unaff_s3 != (BtShared *)0x0)) {\n          checkPtrmap(pCheck,(Pgno)pBVar22,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        (*pcVar6)();\n        unaff_s0 = pBVar11;\n      }" { (expression_statement "pBVar22 = (BtShared *)unaff_s7->iSize;" (assignment_expression "pBVar22 = (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 = pBVar22;" (assignment_expression "pBVar11 = pBVar22" identifier = identifier) ;) (expression_statement "uVar23 = (u32)unaff_s3;" (assignment_expression "uVar23 = (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)pBVar22,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_00083488;\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)pBVar22,'\x04',(Pgno)unaff_s0);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          goto LAB_00083488;\n        }" { (expression_statement "checkPtrmap(pCheck,(Pgno)pBVar22,'\x04',(Pgno)unaff_s0);" (call_expression "checkPtrmap(pCheck,(Pgno)pBVar22,'\x04',(Pgno)unaff_s0)" identifier (argument_list "(pCheck,(Pgno)pBVar22,'\x04',(Pgno)unaff_s0)" ( identifier , (cast_expression "(Pgno)pBVar22" ( (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_00083488;" goto statement_identifier ;) })) (labeled_statement "LAB_00083518:\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 = 2;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar22 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2) {\n          uVar23 = uVar23 - 2;\n          pBVar22 = (BtShared *)(puVar46 + -0x7864);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar23 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_00083488:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_00083518;\n      }" else (compound_statement "{\n        unaff_s2 = (BtShared *)unaff_s7->nSet;\n        if (*puVar4 != '\0') {\n          iPage = 2;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar22 = pCheck->pBt;\n        }\n        if ((BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2) {\n          uVar23 = uVar23 - 2;\n          pBVar22 = (BtShared *)(puVar46 + -0x7864);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar23 = (int)unaff_s3 - (int)unaff_s2;\n        }\nLAB_00083488:\n        unaff_s0 = pBVar11;\n        pCheck_00 = (IntegrityCk *)pOvflPage;\n        if (pOvflPage != (DbPage *)0x0) goto LAB_00083518;\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 = 2;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar22 = 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 = 2;\n          checkPtrmap(pCheck,(Pgno)unaff_s0,'\x02',0);\n          pBVar22 = pCheck->pBt;\n        }" { (expression_statement "iPage = 2;" (assignment_expression "iPage = 2" identifier = number_literal) ;) (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 "pBVar22 = pCheck->pBt;" (assignment_expression "pBVar22 = pCheck->pBt" identifier = (field_expression "pCheck->pBt" identifier -> field_identifier)) ;) })) (if_statement "if ((BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2) {\n          uVar23 = uVar23 - 2;\n          pBVar22 = (BtShared *)(puVar46 + -0x7864);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar23 = (int)unaff_s3 - (int)unaff_s2;\n        }" if (parenthesized_expression "((BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2)" ( (binary_expression "(BtShared *)((pBVar22->usableSize >> 2) - 2) < unaff_s2" (cast_expression "(BtShared *)((pBVar22->usableSize >> 2) - 2)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pBVar22->usableSize >> 2) - 2)" ( (binary_expression "(pBVar22->usableSize >> 2) - 2" (parenthesized_expression "(pBVar22->usableSize >> 2)" ( (binary_expression "pBVar22->usableSize >> 2" (field_expression "pBVar22->usableSize" identifier -> field_identifier) >> number_literal) )) - number_literal) ))) < identifier) )) (compound_statement "{\n          uVar23 = uVar23 - 2;\n          pBVar22 = (BtShared *)(puVar46 + -0x7864);\n          (*pcVar7)(pCheck);\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          iPage = (int)unaff_s0;\n        }" { (expression_statement "uVar23 = uVar23 - 2;" (assignment_expression "uVar23 = uVar23 - 2" identifier = (binary_expression "uVar23 - 2" identifier - number_literal)) ;) (expression_statement "pBVar22 = (BtShared *)(puVar46 + -0x7864);" (assignment_expression "pBVar22 = (BtShared *)(puVar46 + -0x7864)" identifier = (cast_expression "(BtShared *)(puVar46 + -0x7864)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + -0x7864)" ( (binary_expression "puVar46 + -0x7864" 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            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar23 = (int)unaff_s3 - (int)unaff_s2;\n        }" else (compound_statement "{\n          if (0 < (int)unaff_s2) {\n            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }\n          pBVar11 = (BtShared *)unaff_s7->iSize;\n          uVar23 = (int)unaff_s3 - (int)unaff_s2;\n        }" { (if_statement "if (0 < (int)unaff_s2) {\n            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = 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            paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;\n            puVar25 = paVar38->aHash + (int)unaff_s2;\n            while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }\n          }" { (expression_statement "paVar38 = (anon_union_500_3_7c964c52_for_u *)&unaff_s7->iDivisor;" (assignment_expression "paVar38 = (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 "puVar25 = paVar38->aHash + (int)unaff_s2;" (assignment_expression "puVar25 = paVar38->aHash + (int)unaff_s2" identifier = (binary_expression "paVar38->aHash + (int)unaff_s2" (field_expression "paVar38->aHash" identifier -> field_identifier) + (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (while_statement "while( true ) {\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              pBVar11 = (BtShared *)paVar38->aHash[0];\n              if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;\n              paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);\n              pBVar22 = pCheck->pBt;\n            }" { (expression_statement "pBVar11 = (BtShared *)paVar38->aHash[0];" (assignment_expression "pBVar11 = (BtShared *)paVar38->aHash[0]" identifier = (cast_expression "(BtShared *)paVar38->aHash[0]" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "paVar38->aHash[0]" (field_expression "paVar38->aHash" identifier -> field_identifier) [ number_literal ]))) ;) (if_statement "if (pBVar22->autoVacuum == '\0') {\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }\n              else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }" if (parenthesized_expression "(pBVar22->autoVacuum == '\0')" ( (binary_expression "pBVar22->autoVacuum == '\0'" (field_expression "pBVar22->autoVacuum" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = 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 "pBVar22 = pBVar11;" (assignment_expression "pBVar22 = pBVar11" identifier = identifier) ;) }) (else_clause "else {\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }" else (compound_statement "{\n                iPage = 2;\n                checkPtrmap(pCheck,(Pgno)pBVar11,'\x02',0);\n                checkRef(pCheck,(Pgno)pBVar11);\n                pBVar22 = pBVar11;\n              }" { (expression_statement "iPage = 2;" (assignment_expression "iPage = 2" identifier = number_literal) ;) (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 "pBVar22 = pBVar11;" (assignment_expression "pBVar22 = pBVar11" identifier = identifier) ;) }))) (if_statement "if ((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25) break;" if (parenthesized_expression "((anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25)" ( (binary_expression "(anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4) ==\n                  (anon_union_500_3_7c964c52_for_u *)puVar25" (cast_expression "(anon_union_500_3_7c964c52_for_u *)((int)paVar38->aBitmap + 4)" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)paVar38->aBitmap + 4)" ( (binary_expression "(int)paVar38->aBitmap + 4" (cast_expression "(int)paVar38->aBitmap" ( (type_descriptor "int" primitive_type) ) (field_expression "paVar38->aBitmap" identifier -> field_identifier)) + number_literal) ))) == (cast_expression "(anon_union_500_3_7c964c52_for_u *)puVar25" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1);" (assignment_expression "paVar38 = (anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1)" identifier = (cast_expression "(anon_union_500_3_7c964c52_for_u *)(paVar38->aHash + 1)" ( (type_descriptor "anon_union_500_3_7c964c52_for_u *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(paVar38->aHash + 1)" ( (binary_expression "paVar38->aHash + 1" (field_expression "paVar38->aHash" identifier -> field_identifier) + number_literal) )))) ;) (expression_statement "pBVar22 = pCheck->pBt;" (assignment_expression "pBVar22 = 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 "uVar23 = (int)unaff_s3 - (int)unaff_s2;" (assignment_expression "uVar23 = (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_00083488:\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_00083518;" 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_00083518;" 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 *)uVar23;" (assignment_expression "unaff_s3 = (BtShared *)uVar23" identifier = (cast_expression "(BtShared *)uVar23" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar23 != 0) {\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_00083658:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar15) {\n        iVar15 = N - (int)unaff_s3;\n        goto LAB_0008366c;\n      }\n    }" if (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar8 = pCheck->nErr;\n      unaff_s4 = pBStack_80;\nLAB_00083658:\n      pBStack_80 = unaff_s4;\n      if (iVar8 == iVar15) {\n        iVar15 = N - (int)unaff_s3;\n        goto LAB_0008366c;\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_00083658:\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 == iVar15) {\n        iVar15 = N - (int)unaff_s3;\n        goto LAB_0008366c;\n      }" if (parenthesized_expression "(iVar8 == iVar15)" ( (binary_expression "iVar8 == iVar15" identifier == identifier) )) (compound_statement "{\n        iVar15 = N - (int)unaff_s3;\n        goto LAB_0008366c;\n      }" { (expression_statement "iVar15 = N - (int)unaff_s3;" (assignment_expression "iVar15 = 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_0008366c;" goto statement_identifier ;) })) })) }))) (labeled_statement "LAB_00083534:\n  if (local_2c == *(sqlite3 **)puVar5) {\n    return;\n  }" statement_identifier : (if_statement "if (local_2c == *(sqlite3 **)puVar5) {\n    return;\n  }" if (parenthesized_expression "(local_2c == *(sqlite3 **)puVar5)" ( (binary_expression "local_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 "puVar46 = PTR___stack_chk_fail_0015ca14;" (assignment_expression "puVar46 = PTR___stack_chk_fail_0015ca14" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ca14)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ca14)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ca14)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ca14" * (cast_expression "(code *)PTR___stack_chk_fail_0015ca14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar33 = *(int **)(puVar46 + 0xd9334);" (assignment_expression "piVar33 = *(int **)(puVar46 + 0xd9334)" identifier = (pointer_expression "*(int **)(puVar46 + 0xd9334)" * (cast_expression "(int **)(puVar46 + 0xd9334)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar46 + 0xd9334)" ( (binary_expression "puVar46 + 0xd9334" 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_ = *piVar33;" (assignment_expression "auStack_b0._28_4_ = *piVar33" (field_expression "auStack_b0._28_4_" identifier . field_identifier) = (pointer_expression "*piVar33" * 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 "pBVar41 = pBStack_80;" (assignment_expression "pBVar41 = 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 (pBVar22 == (BtShared *)0x0) {\nLAB_00083750:\n    iPage = (int)unaff_s5;\n    iStack_108 = 0;\n    pCheck_00 = pCheck;\n  }\n  else {\n    pcVar9 = pCheck_00->zPfx;\n    pBVar41 = pCheck_00->pBt;\n    iVar15 = pCheck_00->v1;\n    iVar8 = pCheck_00->v2;\n    puVar10 = (undefined1 *)pBVar41->usableSize;\n    iVar17 = checkRef(pCheck_00,(Pgno)pBVar22);\n    unaff_s5 = (BtShared *)iPage;\n    pCheck = pCheck_00;\n    if (iVar17 != 0) goto LAB_00083750;\n    iVar17 = *(int *)(puVar46 + 0xd8ef8);\n    iVar36 = *(int *)(puVar46 + 0xd8f70);\n    pCheck_00->v1 = (int)pBVar22;\n    pCheck_00->zPfx = (char *)(iVar17 + -0x7820);\n    pBVar11 = (BtShared *)(*(code *)(iVar36 + -0xe54))(pBVar41,pBVar22,&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 *)(puVar46 + 0xd8ef8) + -0x77ec);\n        goto LAB_00083b74;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar39 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77c4);\n      iVar17 = uVar39 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 5) - 1);\n      uVar24 = (uint)pBVar11 & 0xffff;\n      pBVar18 = (BtShared *)(uVar24 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar37 = *(Pgno *)(isFreeList + uVar39 + 8);\n        if (pBVar41->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8);\n          checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22);\n        }\n        pBVar11 = (BtShared *)&local_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar37,(i64 *)pBVar11,CONCAT44(local_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 = local_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_00083c5c:\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\n            }\n          }\n          uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);\n          unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);\n          if (uVar42 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }\n          uVar23 = unaff_s7->iSize;\n          if (uVar23 == 0) {\n            puVar26 = (undefined1 *)0x0;\n          }\n          else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24));\nLAB_00083e5c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\n          }\n        }\n      }\n      else {\n        puVar26 = puVar10 + -4;\n        bVar3 = true;\n        iVar36 = *(int *)(puVar46 + 0xd8ef8);\n        pcVar6 = (code *)(*(int *)(puVar46 + 0xd901c) + 0x3088);\n        iVar40 = *(int *)(puVar46 + 0xd8ef8);\n        iVar44 = *(int *)(puVar46 + 0xd8f70);\n        iVar47 = *(int *)(puVar46 + 0xd901c);\n        puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n        pBStack_64 = pBVar22;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar22 = (BtShared *)(uint)*puVar31;\n          if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }\n          else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar31 = puVar31 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = local_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar22 = pBStack_64;\n        pBVar41 = pBVar18;\n        if (bVar3) goto LAB_00083c5c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }\n    else {\n      zFormat = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7814);\nLAB_00083b74:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }\nLAB_00083b8c:\n    if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar46 + 0xd8f70) + -0x138c))(pMStack_b4->pDbPage);\n    }\n    pCheck_00->zPfx = pcVar9;\n    pCheck_00->v1 = iVar15;\n    pCheck_00->v2 = iVar8;\n  }" if (parenthesized_expression "(pBVar22 == (BtShared *)0x0)" ( (binary_expression "pBVar22 == (BtShared *)0x0" identifier == (cast_expression "(BtShared *)0x0" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00083750:\n    iPage = (int)unaff_s5;\n    iStack_108 = 0;\n    pCheck_00 = pCheck;\n  }" { (labeled_statement "LAB_00083750:\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    pBVar41 = pCheck_00->pBt;\n    iVar15 = pCheck_00->v1;\n    iVar8 = pCheck_00->v2;\n    puVar10 = (undefined1 *)pBVar41->usableSize;\n    iVar17 = checkRef(pCheck_00,(Pgno)pBVar22);\n    unaff_s5 = (BtShared *)iPage;\n    pCheck = pCheck_00;\n    if (iVar17 != 0) goto LAB_00083750;\n    iVar17 = *(int *)(puVar46 + 0xd8ef8);\n    iVar36 = *(int *)(puVar46 + 0xd8f70);\n    pCheck_00->v1 = (int)pBVar22;\n    pCheck_00->zPfx = (char *)(iVar17 + -0x7820);\n    pBVar11 = (BtShared *)(*(code *)(iVar36 + -0xe54))(pBVar41,pBVar22,&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 *)(puVar46 + 0xd8ef8) + -0x77ec);\n        goto LAB_00083b74;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar39 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77c4);\n      iVar17 = uVar39 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 5) - 1);\n      uVar24 = (uint)pBVar11 & 0xffff;\n      pBVar18 = (BtShared *)(uVar24 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar37 = *(Pgno *)(isFreeList + uVar39 + 8);\n        if (pBVar41->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8);\n          checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22);\n        }\n        pBVar11 = (BtShared *)&local_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar37,(i64 *)pBVar11,CONCAT44(local_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 = local_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_00083c5c:\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\n            }\n          }\n          uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);\n          unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);\n          if (uVar42 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }\n          uVar23 = unaff_s7->iSize;\n          if (uVar23 == 0) {\n            puVar26 = (undefined1 *)0x0;\n          }\n          else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24));\nLAB_00083e5c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\n          }\n        }\n      }\n      else {\n        puVar26 = puVar10 + -4;\n        bVar3 = true;\n        iVar36 = *(int *)(puVar46 + 0xd8ef8);\n        pcVar6 = (code *)(*(int *)(puVar46 + 0xd901c) + 0x3088);\n        iVar40 = *(int *)(puVar46 + 0xd8ef8);\n        iVar44 = *(int *)(puVar46 + 0xd8f70);\n        iVar47 = *(int *)(puVar46 + 0xd901c);\n        puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n        pBStack_64 = pBVar22;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar22 = (BtShared *)(uint)*puVar31;\n          if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }\n          else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar31 = puVar31 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = local_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar22 = pBStack_64;\n        pBVar41 = pBVar18;\n        if (bVar3) goto LAB_00083c5c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }\n    else {\n      zFormat = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7814);\nLAB_00083b74:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }\nLAB_00083b8c:\n    if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar46 + 0xd8f70) + -0x138c))(pMStack_b4->pDbPage);\n    }\n    pCheck_00->zPfx = pcVar9;\n    pCheck_00->v1 = iVar15;\n    pCheck_00->v2 = iVar8;\n  }" else (compound_statement "{\n    pcVar9 = pCheck_00->zPfx;\n    pBVar41 = pCheck_00->pBt;\n    iVar15 = pCheck_00->v1;\n    iVar8 = pCheck_00->v2;\n    puVar10 = (undefined1 *)pBVar41->usableSize;\n    iVar17 = checkRef(pCheck_00,(Pgno)pBVar22);\n    unaff_s5 = (BtShared *)iPage;\n    pCheck = pCheck_00;\n    if (iVar17 != 0) goto LAB_00083750;\n    iVar17 = *(int *)(puVar46 + 0xd8ef8);\n    iVar36 = *(int *)(puVar46 + 0xd8f70);\n    pCheck_00->v1 = (int)pBVar22;\n    pCheck_00->zPfx = (char *)(iVar17 + -0x7820);\n    pBVar11 = (BtShared *)(*(code *)(iVar36 + -0xe54))(pBVar41,pBVar22,&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 *)(puVar46 + 0xd8ef8) + -0x77ec);\n        goto LAB_00083b74;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar39 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77c4);\n      iVar17 = uVar39 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 5) - 1);\n      uVar24 = (uint)pBVar11 & 0xffff;\n      pBVar18 = (BtShared *)(uVar24 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar37 = *(Pgno *)(isFreeList + uVar39 + 8);\n        if (pBVar41->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8);\n          checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22);\n        }\n        pBVar11 = (BtShared *)&local_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar37,(i64 *)pBVar11,CONCAT44(local_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 = local_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_00083c5c:\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\n            }\n          }\n          uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);\n          unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);\n          if (uVar42 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }\n          uVar23 = unaff_s7->iSize;\n          if (uVar23 == 0) {\n            puVar26 = (undefined1 *)0x0;\n          }\n          else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24));\nLAB_00083e5c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\n          }\n        }\n      }\n      else {\n        puVar26 = puVar10 + -4;\n        bVar3 = true;\n        iVar36 = *(int *)(puVar46 + 0xd8ef8);\n        pcVar6 = (code *)(*(int *)(puVar46 + 0xd901c) + 0x3088);\n        iVar40 = *(int *)(puVar46 + 0xd8ef8);\n        iVar44 = *(int *)(puVar46 + 0xd8f70);\n        iVar47 = *(int *)(puVar46 + 0xd901c);\n        puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n        pBStack_64 = pBVar22;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar22 = (BtShared *)(uint)*puVar31;\n          if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }\n          else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar31 = puVar31 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = local_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar22 = pBStack_64;\n        pBVar41 = pBVar18;\n        if (bVar3) goto LAB_00083c5c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }\n    else {\n      zFormat = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7814);\nLAB_00083b74:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }\nLAB_00083b8c:\n    if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar46 + 0xd8f70) + -0x138c))(pMStack_b4->pDbPage);\n    }\n    pCheck_00->zPfx = pcVar9;\n    pCheck_00->v1 = iVar15;\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 "pBVar41 = pCheck_00->pBt;" (assignment_expression "pBVar41 = pCheck_00->pBt" identifier = (field_expression "pCheck_00->pBt" identifier -> field_identifier)) ;) (expression_statement "iVar15 = pCheck_00->v1;" (assignment_expression "iVar15 = 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 *)pBVar41->usableSize;" (assignment_expression "puVar10 = (undefined1 *)pBVar41->usableSize" identifier = (cast_expression "(undefined1 *)pBVar41->usableSize" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pBVar41->usableSize" identifier -> field_identifier))) ;) (expression_statement "iVar17 = checkRef(pCheck_00,(Pgno)pBVar22);" (assignment_expression "iVar17 = checkRef(pCheck_00,(Pgno)pBVar22)" identifier = (call_expression "checkRef(pCheck_00,(Pgno)pBVar22)" identifier (argument_list "(pCheck_00,(Pgno)pBVar22)" ( identifier , (cast_expression "(Pgno)pBVar22" ( (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 (iVar17 != 0) goto LAB_00083750;" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00083750;" goto statement_identifier ;)) (expression_statement "iVar17 = *(int *)(puVar46 + 0xd8ef8);" (assignment_expression "iVar17 = *(int *)(puVar46 + 0xd8ef8)" identifier = (pointer_expression "*(int *)(puVar46 + 0xd8ef8)" * (cast_expression "(int *)(puVar46 + 0xd8ef8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8ef8)" ( (binary_expression "puVar46 + 0xd8ef8" identifier + number_literal) ))))) ;) (expression_statement "iVar36 = *(int *)(puVar46 + 0xd8f70);" (assignment_expression "iVar36 = *(int *)(puVar46 + 0xd8f70)" identifier = (pointer_expression "*(int *)(puVar46 + 0xd8f70)" * (cast_expression "(int *)(puVar46 + 0xd8f70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8f70)" ( (binary_expression "puVar46 + 0xd8f70" identifier + number_literal) ))))) ;) (expression_statement "pCheck_00->v1 = (int)pBVar22;" (assignment_expression "pCheck_00->v1 = (int)pBVar22" (field_expression "pCheck_00->v1" identifier -> field_identifier) = (cast_expression "(int)pBVar22" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pCheck_00->zPfx = (char *)(iVar17 + -0x7820);" (assignment_expression "pCheck_00->zPfx = (char *)(iVar17 + -0x7820)" (field_expression "pCheck_00->zPfx" identifier -> field_identifier) = (cast_expression "(char *)(iVar17 + -0x7820)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + -0x7820)" ( (binary_expression "iVar17 + -0x7820" identifier + number_literal) )))) ;) (expression_statement "pBVar11 = (BtShared *)(*(code *)(iVar36 + -0xe54))(pBVar41,pBVar22,&pMStack_b4,0);" (assignment_expression "pBVar11 = (BtShared *)(*(code *)(iVar36 + -0xe54))(pBVar41,pBVar22,&pMStack_b4,0)" identifier = (cast_expression "(BtShared *)(*(code *)(iVar36 + -0xe54))(pBVar41,pBVar22,&pMStack_b4,0)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(iVar36 + -0xe54))(pBVar41,pBVar22,&pMStack_b4,0)" (parenthesized_expression "(*(code *)(iVar36 + -0xe54))" ( (pointer_expression "*(code *)(iVar36 + -0xe54)" * (cast_expression "(code *)(iVar36 + -0xe54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar36 + -0xe54)" ( (binary_expression "iVar36 + -0xe54" identifier + number_literal) )))) )) (argument_list "(pBVar41,pBVar22,&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 *)(puVar46 + 0xd8ef8) + -0x77ec);\n        goto LAB_00083b74;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar39 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77c4);\n      iVar17 = uVar39 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 5) - 1);\n      uVar24 = (uint)pBVar11 & 0xffff;\n      pBVar18 = (BtShared *)(uVar24 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar37 = *(Pgno *)(isFreeList + uVar39 + 8);\n        if (pBVar41->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8);\n          checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22);\n        }\n        pBVar11 = (BtShared *)&local_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar37,(i64 *)pBVar11,CONCAT44(local_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 = local_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_00083c5c:\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\n            }\n          }\n          uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);\n          unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);\n          if (uVar42 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }\n          uVar23 = unaff_s7->iSize;\n          if (uVar23 == 0) {\n            puVar26 = (undefined1 *)0x0;\n          }\n          else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24));\nLAB_00083e5c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\n          }\n        }\n      }\n      else {\n        puVar26 = puVar10 + -4;\n        bVar3 = true;\n        iVar36 = *(int *)(puVar46 + 0xd8ef8);\n        pcVar6 = (code *)(*(int *)(puVar46 + 0xd901c) + 0x3088);\n        iVar40 = *(int *)(puVar46 + 0xd8ef8);\n        iVar44 = *(int *)(puVar46 + 0xd8f70);\n        iVar47 = *(int *)(puVar46 + 0xd901c);\n        puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n        pBStack_64 = pBVar22;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar22 = (BtShared *)(uint)*puVar31;\n          if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }\n          else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar31 = puVar31 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = local_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar22 = pBStack_64;\n        pBVar41 = pBVar18;\n        if (bVar3) goto LAB_00083c5c;\n        pMStack_b4->isInit = uVar1;\n      }\n    }\n    else {\n      zFormat = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7814);\nLAB_00083b74:\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 *)(puVar46 + 0xd8ef8) + -0x77ec);\n        goto LAB_00083b74;\n      }\n      isFreeList = (int)pMStack_b4->aData;\n      uVar39 = (uint)pMStack_b4->hdrOffset;\n      pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77c4);\n      iVar17 = uVar39 + 0xc + (uint)pMStack_b4->leaf * -4;\n      pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 3) - 1);\n      pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 5) - 1);\n      uVar24 = (uint)pBVar11 & 0xffff;\n      pBVar18 = (BtShared *)(uVar24 + 1);\n      if (pMStack_b4->leaf == 0) {\n        PVar37 = *(Pgno *)(isFreeList + uVar39 + 8);\n        if (pBVar41->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8);\n          checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22);\n        }\n        pBVar11 = (BtShared *)&local_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar37,(i64 *)pBVar11,CONCAT44(local_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 = local_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_00083c5c:\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\n            }\n          }\n          uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);\n          unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);\n          if (uVar42 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }\n          uVar23 = unaff_s7->iSize;\n          if (uVar23 == 0) {\n            puVar26 = (undefined1 *)0x0;\n          }\n          else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24));\nLAB_00083e5c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\n          }\n        }\n      }\n      else {\n        puVar26 = puVar10 + -4;\n        bVar3 = true;\n        iVar36 = *(int *)(puVar46 + 0xd8ef8);\n        pcVar6 = (code *)(*(int *)(puVar46 + 0xd901c) + 0x3088);\n        iVar40 = *(int *)(puVar46 + 0xd8ef8);\n        iVar44 = *(int *)(puVar46 + 0xd8f70);\n        iVar47 = *(int *)(puVar46 + 0xd901c);\n        puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n        pBStack_64 = pBVar22;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar22 = (BtShared *)(uint)*puVar31;\n          if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }\n          else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar31 = puVar31 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = local_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar22 = pBStack_64;\n        pBVar41 = pBVar18;\n        if (bVar3) goto LAB_00083c5c;\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 *)(puVar46 + 0xd8ef8) + -0x77ec);\n        goto LAB_00083b74;\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 *)(puVar46 + 0xd8ef8) + -0x77ec);\n        goto LAB_00083b74;\n      }" { (expression_statement "zFormat = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77ec);" (assignment_expression "zFormat = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77ec)" identifier = (cast_expression "(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77ec)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar46 + 0xd8ef8) + -0x77ec)" ( (binary_expression "*(int *)(puVar46 + 0xd8ef8) + -0x77ec" (pointer_expression "*(int *)(puVar46 + 0xd8ef8)" * (cast_expression "(int *)(puVar46 + 0xd8ef8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8ef8)" ( (binary_expression "puVar46 + 0xd8ef8" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_00083b74;" 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 "uVar39 = (uint)pMStack_b4->hdrOffset;" (assignment_expression "uVar39 = (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 *)(puVar46 + 0xd8ef8) + -0x77c4);" (assignment_expression "pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77c4)" (field_expression "pCheck_00->zPfx" identifier -> field_identifier) = (cast_expression "(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77c4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar46 + 0xd8ef8) + -0x77c4)" ( (binary_expression "*(int *)(puVar46 + 0xd8ef8) + -0x77c4" (pointer_expression "*(int *)(puVar46 + 0xd8ef8)" * (cast_expression "(int *)(puVar46 + 0xd8ef8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8ef8)" ( (binary_expression "puVar46 + 0xd8ef8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar17 = uVar39 + 0xc + (uint)pMStack_b4->leaf * -4;" (assignment_expression "iVar17 = uVar39 + 0xc + (uint)pMStack_b4->leaf * -4" identifier = (binary_expression "uVar39 + 0xc + (uint)pMStack_b4->leaf * -4" (binary_expression "uVar39 + 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 + uVar39 + 3) - 1);" (assignment_expression "pBVar12 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 3) - 1)" identifier = (cast_expression "(BtShared *)(*(ushort *)(isFreeList + uVar39 + 3) - 1)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(ushort *)(isFreeList + uVar39 + 3) - 1)" ( (binary_expression "*(ushort *)(isFreeList + uVar39 + 3) - 1" (pointer_expression "*(ushort *)(isFreeList + uVar39 + 3)" * (cast_expression "(ushort *)(isFreeList + uVar39 + 3)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + uVar39 + 3)" ( (binary_expression "isFreeList + uVar39 + 3" (binary_expression "isFreeList + uVar39" identifier + identifier) + number_literal) )))) - number_literal) )))) ;) (expression_statement "pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 5) - 1);" (assignment_expression "pBVar11 = (BtShared *)(*(ushort *)(isFreeList + uVar39 + 5) - 1)" identifier = (cast_expression "(BtShared *)(*(ushort *)(isFreeList + uVar39 + 5) - 1)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(ushort *)(isFreeList + uVar39 + 5) - 1)" ( (binary_expression "*(ushort *)(isFreeList + uVar39 + 5) - 1" (pointer_expression "*(ushort *)(isFreeList + uVar39 + 5)" * (cast_expression "(ushort *)(isFreeList + uVar39 + 5)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + uVar39 + 5)" ( (binary_expression "isFreeList + uVar39 + 5" (binary_expression "isFreeList + uVar39" identifier + identifier) + number_literal) )))) - number_literal) )))) ;) (expression_statement "uVar24 = (uint)pBVar11 & 0xffff;" (assignment_expression "uVar24 = (uint)pBVar11 & 0xffff" identifier = (binary_expression "(uint)pBVar11 & 0xffff" (cast_expression "(uint)pBVar11" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "pBVar18 = (BtShared *)(uVar24 + 1);" (assignment_expression "pBVar18 = (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) )))) ;) (if_statement "if (pMStack_b4->leaf == 0) {\n        PVar37 = *(Pgno *)(isFreeList + uVar39 + 8);\n        if (pBVar41->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8);\n          checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22);\n        }\n        pBVar11 = (BtShared *)&local_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar37,(i64 *)pBVar11,CONCAT44(local_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        PVar37 = *(Pgno *)(isFreeList + uVar39 + 8);\n        if (pBVar41->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8);\n          checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22);\n        }\n        pBVar11 = (BtShared *)&local_58;\n        unaff_s7 = (Bitvec *)0x0;\n        iStack_108 = checkTreePage(pCheck_00,PVar37,(i64 *)pBVar11,CONCAT44(local_58,psStack_54));\n        bVar2 = false;\n      }" { (expression_statement "PVar37 = *(Pgno *)(isFreeList + uVar39 + 8);" (assignment_expression "PVar37 = *(Pgno *)(isFreeList + uVar39 + 8)" identifier = (pointer_expression "*(Pgno *)(isFreeList + uVar39 + 8)" * (cast_expression "(Pgno *)(isFreeList + uVar39 + 8)" ( (type_descriptor "Pgno *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + uVar39 + 8)" ( (binary_expression "isFreeList + uVar39 + 8" (binary_expression "isFreeList + uVar39" identifier + identifier) + number_literal) ))))) ;) (if_statement "if (pBVar41->autoVacuum != '\0') {\n          pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8);\n          checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22);\n        }" if (parenthesized_expression "(pBVar41->autoVacuum != '\0')" ( (binary_expression "pBVar41->autoVacuum != '\0'" (field_expression "pBVar41->autoVacuum" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8);\n          checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22);\n        }" { (expression_statement "pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8);" (assignment_expression "pCheck_00->zPfx = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8)" (field_expression "pCheck_00->zPfx" identifier -> field_identifier) = (cast_expression "(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x77a8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar46 + 0xd8ef8) + -0x77a8)" ( (binary_expression "*(int *)(puVar46 + 0xd8ef8) + -0x77a8" (pointer_expression "*(int *)(puVar46 + 0xd8ef8)" * (cast_expression "(int *)(puVar46 + 0xd8ef8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8ef8)" ( (binary_expression "puVar46 + 0xd8ef8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22);" (call_expression "checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBVar22)" identifier (argument_list "(pCheck_00,PVar37,'\x05',(Pgno)pBVar22)" ( identifier , identifier , (char_literal "'\x05'" ' escape_sequence ') , (cast_expression "(Pgno)pBVar22" ( (type_descriptor "Pgno" type_identifier) ) identifier) ))) ;) })) (expression_statement "pBVar11 = (BtShared *)&local_58;" (assignment_expression "pBVar11 = (BtShared *)&local_58" identifier = (cast_expression "(BtShared *)&local_58" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_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,PVar37,(i64 *)pBVar11,CONCAT44(local_58,psStack_54));" (assignment_expression "iStack_108 = checkTreePage(pCheck_00,PVar37,(i64 *)pBVar11,CONCAT44(local_58,psStack_54))" identifier = (call_expression "checkTreePage(pCheck_00,PVar37,(i64 *)pBVar11,CONCAT44(local_58,psStack_54))" identifier (argument_list "(pCheck_00,PVar37,(i64 *)pBVar11,CONCAT44(local_58,psStack_54))" ( identifier , identifier , (cast_expression "(i64 *)pBVar11" ( (type_descriptor "i64 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (call_expression "CONCAT44(local_58,psStack_54)" identifier (argument_list "(local_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 = local_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_00083c5c:\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\n            }\n          }\n          uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);\n          unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);\n          if (uVar42 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }\n          uVar23 = unaff_s7->iSize;\n          if (uVar23 == 0) {\n            puVar26 = (undefined1 *)0x0;\n          }\n          else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24));\nLAB_00083e5c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\n          }\n        }\n      }\n      else {\n        puVar26 = puVar10 + -4;\n        bVar3 = true;\n        iVar36 = *(int *)(puVar46 + 0xd8ef8);\n        pcVar6 = (code *)(*(int *)(puVar46 + 0xd901c) + 0x3088);\n        iVar40 = *(int *)(puVar46 + 0xd8ef8);\n        iVar44 = *(int *)(puVar46 + 0xd8f70);\n        iVar47 = *(int *)(puVar46 + 0xd901c);\n        puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n        pBStack_64 = pBVar22;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar22 = (BtShared *)(uint)*puVar31;\n          if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }\n          else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar31 = puVar31 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = local_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar22 = pBStack_64;\n        pBVar41 = pBVar18;\n        if (bVar3) goto LAB_00083c5c;\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 = local_58;\n        pCheck_00->zPfx = (char *)0x0;\nLAB_00083c5c:\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\n            }\n          }\n          uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);\n          unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);\n          if (uVar42 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }\n          uVar23 = unaff_s7->iSize;\n          if (uVar23 == 0) {\n            puVar26 = (undefined1 *)0x0;\n          }\n          else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24));\nLAB_00083e5c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\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 = local_58;" (assignment_expression "((BtShared *)iPage)->pPager = local_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_00083c5c:\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\n            }\n          }\n          uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);\n          unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);\n          if (uVar42 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }\n          uVar23 = unaff_s7->iSize;\n          if (uVar23 == 0) {\n            puVar26 = (undefined1 *)0x0;\n          }\n          else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24));\nLAB_00083e5c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\n            }\n          }\n          uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);\n          unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);\n          if (uVar42 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }\n          uVar23 = unaff_s7->iSize;\n          if (uVar23 == 0) {\n            puVar26 = (undefined1 *)0x0;\n          }\n          else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24));\nLAB_00083e5c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\n            }\n          }\n          uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);\n          unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);\n          if (uVar42 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }\n          uVar23 = unaff_s7->iSize;\n          if (uVar23 == 0) {\n            puVar26 = (undefined1 *)0x0;\n          }\n          else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }\n          unaff_s7 = (Bitvec *)(puVar10 + -1);\n          pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24));\nLAB_00083e5c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\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 *)(puVar46 + 0xd8f70) + -0xb3c;\n              puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n              pBStack_64 = pBVar22;\n              do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);\n            }" { (expression_statement "iPage = *(int *)(puVar46 + 0xd8f70) + -0xb3c;" (assignment_expression "iPage = *(int *)(puVar46 + 0xd8f70) + -0xb3c" identifier = (binary_expression "*(int *)(puVar46 + 0xd8f70) + -0xb3c" (pointer_expression "*(int *)(puVar46 + 0xd8f70)" * (cast_expression "(int *)(puVar46 + 0xd8f70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8f70)" ( (binary_expression "puVar46 + 0xd8f70" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);" (assignment_expression "puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17)" identifier = (cast_expression "(ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + (int)pBVar12 * 2 + iVar17)" ( (binary_expression "isFreeList + (int)pBVar12 * 2 + iVar17" (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 = pBVar22;" (assignment_expression "pBStack_64 = pBVar22" identifier = identifier) ;) (do_statement "do {\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              } while ((ushort *)(isFreeList + iVar17 + -2) != puVar35);" do (compound_statement "{\n                puVar35 = puVar31 + -1;\n                uVar42 = (uint)*puVar31;\n                uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));\n                pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);\n                (*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);\n                puVar31 = puVar35;\n                pBVar22 = pBStack_64;\n              }" { (expression_statement "puVar35 = puVar31 + -1;" (assignment_expression "puVar35 = puVar31 + -1" identifier = (binary_expression "puVar31 + -1" identifier + number_literal)) ;) (expression_statement "uVar42 = (uint)*puVar31;" (assignment_expression "uVar42 = (uint)*puVar31" identifier = (binary_expression "(uint)*puVar31" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42));" (assignment_expression "uVar14 = (*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42))" identifier = (call_expression "(*pMStack_b4->xCellSize)(pMStack_b4,(u8 *)(isFreeList + uVar42))" (parenthesized_expression "(*pMStack_b4->xCellSize)" ( (pointer_expression "*pMStack_b4->xCellSize" * (field_expression "pMStack_b4->xCellSize" identifier -> field_identifier)) )) (argument_list "(pMStack_b4,(u8 *)(isFreeList + uVar42))" ( identifier , (cast_expression "(u8 *)(isFreeList + uVar42)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + uVar42)" ( (binary_expression "isFreeList + uVar42" identifier + identifier) ))) )))) ;) (expression_statement "pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42);" (assignment_expression "pBVar41 = (BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42)" identifier = (cast_expression "(BtShared *)(CONCAT22(extraout_var,uVar14) + -1 + uVar42)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CONCAT22(extraout_var,uVar14) + -1 + uVar42)" ( (binary_expression "CONCAT22(extraout_var,uVar14) + -1 + uVar42" (binary_expression "CONCAT22(extraout_var,uVar14) + -1" (call_expression "CONCAT22(extraout_var,uVar14)" identifier (argument_list "(extraout_var,uVar14)" ( identifier , identifier ))) + number_literal) + identifier) )))) ;) (expression_statement "(*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 0x10);" (call_expression "(*(code *)iPage)(unaff_s7,(uint)pBVar41 | uVar42 << 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)pBVar41 | uVar42 << 0x10)" ( identifier , (binary_expression "(uint)pBVar41 | uVar42 << 0x10" (cast_expression "(uint)pBVar41" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "uVar42 << 0x10" identifier << number_literal)) ))) ;) (expression_statement "puVar31 = puVar35;" (assignment_expression "puVar31 = puVar35" identifier = identifier) ;) (expression_statement "pBVar22 = pBStack_64;" (assignment_expression "pBVar22 = pBStack_64" identifier = identifier) ;) }) while (parenthesized_expression "((ushort *)(isFreeList + iVar17 + -2) != puVar35)" ( (binary_expression "(ushort *)(isFreeList + iVar17 + -2) != puVar35" (cast_expression "(ushort *)(isFreeList + iVar17 + -2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + iVar17 + -2)" ( (binary_expression "isFreeList + iVar17 + -2" (binary_expression "isFreeList + iVar17" identifier + identifier) + number_literal) ))) != identifier) )) ;) })) })) (expression_statement "uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1);" (assignment_expression "uVar42 = (uint)*(ushort *)(isFreeList + uVar39 + 1)" identifier = (binary_expression "(uint)*(ushort *)(isFreeList + uVar39 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(isFreeList + uVar39 + 1)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + uVar39 + 1)" ( (binary_expression "isFreeList + uVar39 + 1" (binary_expression "isFreeList + uVar39" identifier + identifier) + number_literal) ))))) ;) (expression_statement "unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70);" (assignment_expression "unaff_s2 = *(BtShared **)(puVar46 + 0xd8f70)" identifier = (pointer_expression "*(BtShared **)(puVar46 + 0xd8f70)" * (cast_expression "(BtShared **)(puVar46 + 0xd8f70)" ( (type_descriptor "BtShared **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar46 + 0xd8f70)" ( (binary_expression "puVar46 + 0xd8f70" identifier + number_literal) ))))) ;) (if_statement "if (uVar42 != 0) {\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }" if (parenthesized_expression "(uVar42 != 0)" ( (binary_expression "uVar42 != 0" identifier != number_literal) )) (compound_statement "{\n            unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;\n            piVar43 = (int *)unaff_s2;\n            do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);\n          }" { (expression_statement "unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef;" (assignment_expression "unaff_s2 = (BtShared *)&unaff_s2[-0x23].nRef" identifier = (cast_expression "(BtShared *)&unaff_s2[-0x23].nRef" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&unaff_s2[-0x23].nRef" & (field_expression "unaff_s2[-0x23].nRef" (subscript_expression "unaff_s2[-0x23]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "piVar43 = (int *)unaff_s2;" (assignment_expression "piVar43 = (int *)unaff_s2" identifier = (cast_expression "(int *)unaff_s2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            } while (uVar42 != 0);" do (compound_statement "{\n              puVar31 = (ushort *)(isFreeList + uVar42);\n              (*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);\n              uVar42 = (uint)*puVar31;\n            }" { (expression_statement "puVar31 = (ushort *)(isFreeList + uVar42);" (assignment_expression "puVar31 = (ushort *)(isFreeList + uVar42)" identifier = (cast_expression "(ushort *)(isFreeList + uVar42)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + uVar42)" ( (binary_expression "isFreeList + uVar42" identifier + identifier) )))) ;) (expression_statement "(*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10);" (call_expression "(*(code *)piVar43)(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10)" (parenthesized_expression "(*(code *)piVar43)" ( (pointer_expression "*(code *)piVar43" * (cast_expression "(code *)piVar43" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,(puVar31[1] + uVar42) - 1 | uVar42 << 0x10)" ( identifier , (binary_expression "(puVar31[1] + uVar42) - 1 | uVar42 << 0x10" (binary_expression "(puVar31[1] + uVar42) - 1" (parenthesized_expression "(puVar31[1] + uVar42)" ( (binary_expression "puVar31[1] + uVar42" (subscript_expression "puVar31[1]" identifier [ number_literal ]) + identifier) )) - number_literal) | (binary_expression "uVar42 << 0x10" identifier << number_literal)) ))) ;) (expression_statement "uVar42 = (uint)*puVar31;" (assignment_expression "uVar42 = (uint)*puVar31" identifier = (binary_expression "(uint)*puVar31" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) while (parenthesized_expression "(uVar42 != 0)" ( (binary_expression "uVar42 != 0" identifier != number_literal) )) ;) })) (expression_statement "uVar23 = unaff_s7->iSize;" (assignment_expression "uVar23 = unaff_s7->iSize" identifier = (field_expression "unaff_s7->iSize" identifier -> field_identifier)) ;) (if_statement "if (uVar23 == 0) {\n            puVar26 = (undefined1 *)0x0;\n          }\n          else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }" if (parenthesized_expression "(uVar23 == 0)" ( (binary_expression "uVar23 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar26 = (undefined1 *)0x0;\n          }" { (expression_statement "puVar26 = (undefined1 *)0x0;" (assignment_expression "puVar26 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }" else (compound_statement "{\n            puVar26 = (undefined1 *)0x0;\n            do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);\n            uVar24 = uVar42 & 0xffff;\n          }" { (expression_statement "puVar26 = (undefined1 *)0x0;" (assignment_expression "puVar26 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            } while (uVar23 != 0);" do (compound_statement "{\n              uVar42 = unaff_s7->nSet;\n              unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];\n              (&unaff_s7->iSize)[uVar23] = 0xffffffff;\n              uVar23 = unaff_s7->iSize - 1;\n              unaff_s7->iSize = uVar23;\n              if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }\n              pBVar11 = (BtShared *)(uVar42 >> 0x10);\n              unaff_s2 = (BtShared *)(uVar24 & 0xffff);\n              if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }\n              puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));\n              uVar24 = uVar42;\n            }" { (expression_statement "uVar42 = unaff_s7->nSet;" (assignment_expression "uVar42 = unaff_s7->nSet" identifier = (field_expression "unaff_s7->nSet" identifier -> field_identifier)) ;) (expression_statement "unaff_s7->nSet = (&unaff_s7->iSize)[uVar23];" (assignment_expression "unaff_s7->nSet = (&unaff_s7->iSize)[uVar23]" (field_expression "unaff_s7->nSet" identifier -> field_identifier) = (subscript_expression "(&unaff_s7->iSize)[uVar23]" (parenthesized_expression "(&unaff_s7->iSize)" ( (pointer_expression "&unaff_s7->iSize" & (field_expression "unaff_s7->iSize" identifier -> field_identifier)) )) [ identifier ])) ;) (expression_statement "(&unaff_s7->iSize)[uVar23] = 0xffffffff;" (assignment_expression "(&unaff_s7->iSize)[uVar23] = 0xffffffff" (subscript_expression "(&unaff_s7->iSize)[uVar23]" (parenthesized_expression "(&unaff_s7->iSize)" ( (pointer_expression "&unaff_s7->iSize" & (field_expression "unaff_s7->iSize" identifier -> field_identifier)) )) [ identifier ]) = number_literal) ;) (expression_statement "uVar23 = unaff_s7->iSize - 1;" (assignment_expression "uVar23 = 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 = uVar23;" (assignment_expression "unaff_s7->iSize = uVar23" (field_expression "unaff_s7->iSize" identifier -> field_identifier) = identifier) ;) (if_statement "if (1 < uVar23) {\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }" if (parenthesized_expression "(1 < uVar23)" ( (binary_expression "1 < uVar23" number_literal < identifier) )) (compound_statement "{\n                uVar32 = unaff_s7->nSet;\n                uVar30 = 2;\n                uVar13 = 1;\n                do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);\n              }" { (expression_statement "uVar32 = unaff_s7->nSet;" (assignment_expression "uVar32 = unaff_s7->nSet" identifier = (field_expression "unaff_s7->nSet" identifier -> field_identifier)) ;) (expression_statement "uVar30 = 2;" (assignment_expression "uVar30 = 2" identifier = number_literal) ;) (expression_statement "uVar13 = 1;" (assignment_expression "uVar13 = 1" identifier = number_literal) ;) (do_statement "do {\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                } while (uVar30 <= uVar23);" do (compound_statement "{\n                  puVar25 = &unaff_s7->nSet + uVar30;\n                  uVar16 = *puVar25;\n                  uVar19 = uVar30 + 1;\n                  if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }\n                  if (uVar32 < uVar16) break;\n                  (&unaff_s7->iSize)[uVar13] = uVar16;\n                  uVar30 = uVar19 << 1;\n                  *puVar25 = uVar32;\n                  uVar23 = unaff_s7->iSize;\n                  uVar13 = uVar19;\n                }" { (expression_statement "puVar25 = &unaff_s7->nSet + uVar30;" (assignment_expression "puVar25 = &unaff_s7->nSet + uVar30" identifier = (binary_expression "&unaff_s7->nSet + uVar30" (pointer_expression "&unaff_s7->nSet" & (field_expression "unaff_s7->nSet" identifier -> field_identifier)) + identifier)) ;) (expression_statement "uVar16 = *puVar25;" (assignment_expression "uVar16 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "uVar19 = uVar30 + 1;" (assignment_expression "uVar19 = uVar30 + 1" identifier = (binary_expression "uVar30 + 1" identifier + number_literal)) ;) (if_statement "if ((&unaff_s7->iSize)[uVar13 * 2] <= uVar16) {\n                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }" if (parenthesized_expression "((&unaff_s7->iSize)[uVar13 * 2] <= uVar16)" ( (binary_expression "(&unaff_s7->iSize)[uVar13 * 2] <= uVar16" (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                    puVar25 = &unaff_s7->iSize + uVar30;\n                    uVar16 = *puVar25;\n                    uVar19 = uVar30;\n                  }" { (expression_statement "puVar25 = &unaff_s7->iSize + uVar30;" (assignment_expression "puVar25 = &unaff_s7->iSize + uVar30" identifier = (binary_expression "&unaff_s7->iSize + uVar30" (pointer_expression "&unaff_s7->iSize" & (field_expression "unaff_s7->iSize" identifier -> field_identifier)) + identifier)) ;) (expression_statement "uVar16 = *puVar25;" (assignment_expression "uVar16 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "uVar19 = uVar30;" (assignment_expression "uVar19 = uVar30" identifier = identifier) ;) })) (if_statement "if (uVar32 < uVar16) break;" if (parenthesized_expression "(uVar32 < uVar16)" ( (binary_expression "uVar32 < uVar16" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "(&unaff_s7->iSize)[uVar13] = uVar16;" (assignment_expression "(&unaff_s7->iSize)[uVar13] = uVar16" (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 "uVar30 = uVar19 << 1;" (assignment_expression "uVar30 = uVar19 << 1" identifier = (binary_expression "uVar19 << 1" identifier << number_literal)) ;) (expression_statement "*puVar25 = uVar32;" (assignment_expression "*puVar25 = uVar32" (pointer_expression "*puVar25" * identifier) = identifier) ;) (expression_statement "uVar23 = unaff_s7->iSize;" (assignment_expression "uVar23 = unaff_s7->iSize" identifier = (field_expression "unaff_s7->iSize" identifier -> field_identifier)) ;) (expression_statement "uVar13 = uVar19;" (assignment_expression "uVar13 = uVar19" identifier = identifier) ;) }) while (parenthesized_expression "(uVar30 <= uVar23)" ( (binary_expression "uVar30 <= uVar23" identifier <= identifier) )) ;) })) (expression_statement "pBVar11 = (BtShared *)(uVar42 >> 0x10);" (assignment_expression "pBVar11 = (BtShared *)(uVar42 >> 0x10)" identifier = (cast_expression "(BtShared *)(uVar42 >> 0x10)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar42 >> 0x10)" ( (binary_expression "uVar42 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "unaff_s2 = (BtShared *)(uVar24 & 0xffff);" (assignment_expression "unaff_s2 = (BtShared *)(uVar24 & 0xffff)" identifier = (cast_expression "(BtShared *)(uVar24 & 0xffff)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 & 0xffff)" ( (binary_expression "uVar24 & 0xffff" identifier & number_literal) )))) ;) (if_statement "if (pBVar11 <= unaff_s2) {\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }" if (parenthesized_expression "(pBVar11 <= unaff_s2)" ( (binary_expression "pBVar11 <= unaff_s2" identifier <= identifier) )) (compound_statement "{\n                checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);\n                if (unaff_s7->iSize != 0) goto LAB_00083b8c;\n                pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));\n                goto LAB_00083e5c;\n              }" { (expression_statement "checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22);" (call_expression "checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22)" identifier (argument_list "(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720),pBVar11,\n                               pBVar22)" ( identifier , (cast_expression "(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7720)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar46 + 0xd8ef8) + -0x7720)" ( (binary_expression "*(int *)(puVar46 + 0xd8ef8) + -0x7720" (pointer_expression "*(int *)(puVar46 + 0xd8ef8)" * (cast_expression "(int *)(puVar46 + 0xd8ef8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8ef8)" ( (binary_expression "puVar46 + 0xd8ef8" identifier + number_literal) )))) + number_literal) ))) , identifier , identifier ))) ;) (if_statement "if (unaff_s7->iSize != 0) goto LAB_00083b8c;" 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_00083b8c;" goto statement_identifier ;)) (expression_statement "pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)));" (assignment_expression "pBVar11 = (BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)))" identifier = (cast_expression "(BtShared *)(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)))" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2)))" ( (binary_expression "puVar10 + (int)(puVar26 + (-1 - (int)unaff_s2))" identifier + (cast_expression "(int)(puVar26 + (-1 - (int)unaff_s2))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar26 + (-1 - (int)unaff_s2))" ( (binary_expression "puVar26 + (-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_00083e5c;" goto statement_identifier ;) })) (expression_statement "puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)));" (assignment_expression "puVar26 = (undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)))" identifier = (cast_expression "(undefined1 *)\n                        ((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar11->pPager + (int)(puVar26 + (-1 - (int)unaff_s2)))" ( (binary_expression "(int)&pBVar11->pPager + (int)(puVar26 + (-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)(puVar26 + (-1 - (int)unaff_s2))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar26 + (-1 - (int)unaff_s2))" ( (binary_expression "puVar26 + (-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 "uVar24 = uVar42;" (assignment_expression "uVar24 = uVar42" identifier = identifier) ;) }) while (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) ;) (expression_statement "uVar24 = uVar42 & 0xffff;" (assignment_expression "uVar24 = uVar42 & 0xffff" identifier = (binary_expression "uVar42 & 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 *)(puVar26 + ((int)unaff_s7 - uVar24));" (assignment_expression "pBVar11 = (BtShared *)(puVar26 + ((int)unaff_s7 - uVar24))" identifier = (cast_expression "(BtShared *)(puVar26 + ((int)unaff_s7 - uVar24))" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + ((int)unaff_s7 - uVar24))" ( (binary_expression "puVar26 + ((int)unaff_s7 - uVar24)" identifier + (parenthesized_expression "((int)unaff_s7 - uVar24)" ( (binary_expression "(int)unaff_s7 - uVar24" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) ))) )))) ;) (labeled_statement "LAB_00083e5c:\n          if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\n          }" statement_identifier : (if_statement "if ((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11) {\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\n          }" if (parenthesized_expression "((BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11)" ( (binary_expression "(BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7) != pBVar11" (binary_expression "(BtShared *)(uint)*(byte *)(isFreeList + uVar39 + 7)" (cast_expression "(BtShared *)(uint)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(isFreeList + uVar39 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + uVar39 + 7)" ( (binary_expression "isFreeList + uVar39 + 7" (binary_expression "isFreeList + uVar39" identifier + identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n            checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));\n          }" { (expression_statement "checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8));" (call_expression "checkAppendMsg(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8))" identifier (argument_list "(pCheck_00,(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8))" ( identifier , (cast_expression "(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x76f8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar46 + 0xd8ef8) + -0x76f8)" ( (binary_expression "*(int *)(puVar46 + 0xd8ef8) + -0x76f8" (pointer_expression "*(int *)(puVar46 + 0xd8ef8)" * (cast_expression "(int *)(puVar46 + 0xd8ef8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8ef8)" ( (binary_expression "puVar46 + 0xd8ef8" identifier + number_literal) )))) + number_literal) ))) ))) ;) }))) }))) }) (else_clause "else {\n        puVar26 = puVar10 + -4;\n        bVar3 = true;\n        iVar36 = *(int *)(puVar46 + 0xd8ef8);\n        pcVar6 = (code *)(*(int *)(puVar46 + 0xd901c) + 0x3088);\n        iVar40 = *(int *)(puVar46 + 0xd8ef8);\n        iVar44 = *(int *)(puVar46 + 0xd8f70);\n        iVar47 = *(int *)(puVar46 + 0xd901c);\n        puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n        pBStack_64 = pBVar22;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar22 = (BtShared *)(uint)*puVar31;\n          if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }\n          else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar31 = puVar31 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = local_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar22 = pBStack_64;\n        pBVar41 = pBVar18;\n        if (bVar3) goto LAB_00083c5c;\n        pMStack_b4->isInit = uVar1;\n      }" else (compound_statement "{\n        puVar26 = puVar10 + -4;\n        bVar3 = true;\n        iVar36 = *(int *)(puVar46 + 0xd8ef8);\n        pcVar6 = (code *)(*(int *)(puVar46 + 0xd901c) + 0x3088);\n        iVar40 = *(int *)(puVar46 + 0xd8ef8);\n        iVar44 = *(int *)(puVar46 + 0xd8f70);\n        iVar47 = *(int *)(puVar46 + 0xd901c);\n        puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);\n        pBStack_64 = pBVar22;\n        do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar22 = (BtShared *)(uint)*puVar31;\n          if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }\n          else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar31 = puVar31 + -1, pCheck_00->mxErr != 0));\n        iStack_108 = iStack_108 + 1;\n        ((BtShared *)iPage)->db = psStack_54;\n        ((BtShared *)iPage)->pPager = local_58;\n        pCheck_00->zPfx = (char *)0x0;\n        pBVar22 = pBStack_64;\n        pBVar41 = pBVar18;\n        if (bVar3) goto LAB_00083c5c;\n        pMStack_b4->isInit = uVar1;\n      }" { (expression_statement "puVar26 = puVar10 + -4;" (assignment_expression "puVar26 = puVar10 + -4" identifier = (binary_expression "puVar10 + -4" identifier + number_literal)) ;) (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (expression_statement "iVar36 = *(int *)(puVar46 + 0xd8ef8);" (assignment_expression "iVar36 = *(int *)(puVar46 + 0xd8ef8)" identifier = (pointer_expression "*(int *)(puVar46 + 0xd8ef8)" * (cast_expression "(int *)(puVar46 + 0xd8ef8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8ef8)" ( (binary_expression "puVar46 + 0xd8ef8" identifier + number_literal) ))))) ;) (expression_statement "pcVar6 = (code *)(*(int *)(puVar46 + 0xd901c) + 0x3088);" (assignment_expression "pcVar6 = (code *)(*(int *)(puVar46 + 0xd901c) + 0x3088)" identifier = (cast_expression "(code *)(*(int *)(puVar46 + 0xd901c) + 0x3088)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar46 + 0xd901c) + 0x3088)" ( (binary_expression "*(int *)(puVar46 + 0xd901c) + 0x3088" (pointer_expression "*(int *)(puVar46 + 0xd901c)" * (cast_expression "(int *)(puVar46 + 0xd901c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd901c)" ( (binary_expression "puVar46 + 0xd901c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar40 = *(int *)(puVar46 + 0xd8ef8);" (assignment_expression "iVar40 = *(int *)(puVar46 + 0xd8ef8)" identifier = (pointer_expression "*(int *)(puVar46 + 0xd8ef8)" * (cast_expression "(int *)(puVar46 + 0xd8ef8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8ef8)" ( (binary_expression "puVar46 + 0xd8ef8" identifier + number_literal) ))))) ;) (expression_statement "iVar44 = *(int *)(puVar46 + 0xd8f70);" (assignment_expression "iVar44 = *(int *)(puVar46 + 0xd8f70)" identifier = (pointer_expression "*(int *)(puVar46 + 0xd8f70)" * (cast_expression "(int *)(puVar46 + 0xd8f70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8f70)" ( (binary_expression "puVar46 + 0xd8f70" identifier + number_literal) ))))) ;) (expression_statement "iVar47 = *(int *)(puVar46 + 0xd901c);" (assignment_expression "iVar47 = *(int *)(puVar46 + 0xd901c)" identifier = (pointer_expression "*(int *)(puVar46 + 0xd901c)" * (cast_expression "(int *)(puVar46 + 0xd901c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd901c)" ( (binary_expression "puVar46 + 0xd901c" identifier + number_literal) ))))) ;) (expression_statement "puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17);" (assignment_expression "puVar31 = (ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17)" identifier = (cast_expression "(ushort *)(isFreeList + (int)pBVar12 * 2 + iVar17)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + (int)pBVar12 * 2 + iVar17)" ( (binary_expression "isFreeList + (int)pBVar12 * 2 + iVar17" (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 = pBVar22;" (assignment_expression "pBStack_64 = pBVar22" identifier = identifier) ;) (do_statement "do {\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar22 = (BtShared *)(uint)*puVar31;\n          if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }\n          else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (BtShared *)((int)&unaff_s2[-1].pTmpSpace + 3);\n        } while ((unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar31 = puVar31 + -1, pCheck_00->mxErr != 0));" do (compound_statement "{\n          pCheck_00->v2 = (int)unaff_s2;\n          pBVar22 = (BtShared *)(uint)*puVar31;\n          if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }\n          else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 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 "pBVar22 = (BtShared *)(uint)*puVar31;" (assignment_expression "pBVar22 = (BtShared *)(uint)*puVar31" identifier = (binary_expression "(BtShared *)(uint)*puVar31" (cast_expression "(BtShared *)(uint)" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (if_statement "if ((pBVar22 < pBVar18) || (puVar26 < pBVar22)) {\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }\n          else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }" if (parenthesized_expression "((pBVar22 < pBVar18) || (puVar26 < pBVar22))" ( (binary_expression "(pBVar22 < pBVar18) || (puVar26 < pBVar22)" (parenthesized_expression "(pBVar22 < pBVar18)" ( (binary_expression "pBVar22 < pBVar18" identifier < identifier) )) || (parenthesized_expression "(puVar26 < pBVar22)" ( (binary_expression "puVar26 < pBVar22" identifier < identifier) ))) )) (compound_statement "{\n            (*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);\n            bVar3 = false;\n            pBVar11 = pBVar22;\n          }" { (expression_statement "(*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18);" (call_expression "(*pcVar6)(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(pCheck_00,iVar36 + -0x778c,pBVar22,pBVar18)" ( identifier , (binary_expression "iVar36 + -0x778c" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "pBVar11 = pBVar22;" (assignment_expression "pBVar11 = pBVar22" identifier = identifier) ;) }) (else_clause "else {\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }" else (compound_statement "{\n            pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);\n            pBVar11 = (BtShared *)auStack_b0;\n            (*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(CellInfo *)pBVar11);\n            if (puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }\n          }" { (expression_statement "pPVar34 = (Pgno *)(isFreeList + (int)pBVar22);" (assignment_expression "pPVar34 = (Pgno *)(isFreeList + (int)pBVar22)" identifier = (cast_expression "(Pgno *)(isFreeList + (int)pBVar22)" ( (type_descriptor "Pgno *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(isFreeList + (int)pBVar22)" ( (binary_expression "isFreeList + (int)pBVar22" identifier + (cast_expression "(int)pBVar22" ( (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 *)pPVar34,(CellInfo *)pBVar11);" (call_expression "(*pMStack_b4->xParseCell)(pMStack_b4,(u8 *)pPVar34,(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 *)pPVar34,(CellInfo *)pBVar11)" ( identifier , (cast_expression "(u8 *)pPVar34" ( (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)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)) {\n              (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }" if (parenthesized_expression "(puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_))" ( (binary_expression "puVar10 < (undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)" identifier < (cast_expression "(undefined1 *)((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_)" ( (binary_expression "(int)&pBVar22->pPager + (uint)(ushort)auStack_b0._18_2_" (cast_expression "(int)&pBVar22->pPager" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar22->pPager" & (field_expression "pBVar22->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 *)(puVar46 + 0xd8ef8) + -0x776c);\n              bVar3 = false;\n            }" { (expression_statement "(*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c);" (call_expression "(*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x776c)" ( identifier , (binary_expression "*(int *)(puVar46 + 0xd8ef8) + -0x776c" (pointer_expression "*(int *)(puVar46 + 0xd8ef8)" * (cast_expression "(int *)(puVar46 + 0xd8ef8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8ef8)" ( (binary_expression "puVar46 + 0xd8ef8" 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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }\n              if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }\n            }" { (if_statement "if (pMStack_b4->intKey != '\0') {\n                if (bVar2) {\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }\n                if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }\n                bVar2 = false;\n                local_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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n                  bVar2 = true;\n                  if ((int)auStack_b0._0_4_ <= (int)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\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)local_58) {\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }" if (parenthesized_expression "((int)auStack_b0._0_4_ <= (int)local_58)" ( (binary_expression "(int)auStack_b0._0_4_ <= (int)local_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)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                    if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;\n                    if ((uint)auStack_b0._4_4_ <= psStack_54) {\n                      bVar2 = false;\n                    }\n                  }" { (if_statement "if ((Pager *)auStack_b0._0_4_ != local_58) goto LAB_00083eb0;" if (parenthesized_expression "((Pager *)auStack_b0._0_4_ != local_58)" ( (binary_expression "(Pager *)auStack_b0._0_4_ != local_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_00083eb0;" 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)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }" else (compound_statement "{\n                  bVar2 = true;\n                  if (((int)auStack_b0._0_4_ < (int)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }\n                }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (if_statement "if (((int)auStack_b0._0_4_ < (int)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))) {\nLAB_00083eb0:\n                    bVar2 = false;\n                  }" if (parenthesized_expression "(((int)auStack_b0._0_4_ < (int)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54))))" ( (binary_expression "((int)auStack_b0._0_4_ < (int)local_58) ||\n                     ((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))" (parenthesized_expression "((int)auStack_b0._0_4_ < (int)local_58)" ( (binary_expression "(int)auStack_b0._0_4_ < (int)local_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)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)))" ( (parenthesized_expression "(local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54))" ( (binary_expression "local_58 == (Pager *)auStack_b0._0_4_ &&\n                      ((uint)auStack_b0._4_4_ < psStack_54)" (binary_expression "local_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_00083eb0:\n                    bVar2 = false;\n                  }" { (labeled_statement "LAB_00083eb0:\n                    bVar2 = false;" statement_identifier : (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;)) })) }))) (if_statement "if (bVar2) {\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n                  (*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);\n                }" { (expression_statement "(*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754);" (call_expression "(*pcVar6)(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(pCheck_00,*(int *)(puVar46 + 0xd8ef8) + -0x7754)" ( identifier , (binary_expression "*(int *)(puVar46 + 0xd8ef8) + -0x7754" (pointer_expression "*(int *)(puVar46 + 0xd8ef8)" * (cast_expression "(int *)(puVar46 + 0xd8ef8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8ef8)" ( (binary_expression "puVar46 + 0xd8ef8" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "local_58 = (Pager *)auStack_b0._0_4_;" (assignment_expression "local_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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\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                iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);\n                PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));\n                if (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }\n                checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);\n              }" { (expression_statement "iVar29 = auStack_b0._12_4_ + (-5 - (int)(uint)(ushort)auStack_b0._16_2_);" (assignment_expression "iVar29 = 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 "PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4));" (assignment_expression "PVar37 = *(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4))" identifier = (pointer_expression "*(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4))" * (cast_expression "(Pgno *)((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4))" ( (type_descriptor "Pgno *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4))" ( (binary_expression "(int)pPVar34 + ((ushort)auStack_b0._18_2_ - 4)" (cast_expression "(int)pPVar34" ( (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 (puVar26 == (undefined1 *)0x0) {\n                  trap(7);\n                }" if (parenthesized_expression "(puVar26 == (undefined1 *)0x0)" ( (binary_expression "puVar26 == (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 (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }" if (parenthesized_expression "(pBVar41->autoVacuum != '\0')" ( (binary_expression "pBVar41->autoVacuum != '\0'" (field_expression "pBVar41->autoVacuum" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);\n                }" { (expression_statement "checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64);" (call_expression "checkPtrmap(pCheck_00,PVar37,'\x03',(Pgno)pBStack_64)" identifier (argument_list "(pCheck_00,PVar37,'\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,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26);" (call_expression "checkList(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26)" identifier (argument_list "(pCheck_00,0,PVar37,(uint)(puVar10 + iVar29) / (uint)puVar26)" ( identifier , number_literal , identifier , (binary_expression "(uint)(puVar10 + iVar29) / (uint)puVar26" (call_expression "(uint)(puVar10 + iVar29)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar10 + iVar29)" ( (binary_expression "puVar10 + iVar29" identifier + identifier) ))) / (cast_expression "(uint)puVar26" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) ;) })) (if_statement "if (pMStack_b4->leaf == '\0') {\n                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }\n              else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 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                PVar37 = *pPVar34;\n                if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }\n                pBVar11 = (BtShared *)&local_58;\n                iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);\n                if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n              }" { (expression_statement "PVar37 = *pPVar34;" (assignment_expression "PVar37 = *pPVar34" identifier = (pointer_expression "*pPVar34" * identifier)) ;) (if_statement "if (pBVar41->autoVacuum != '\0') {\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }" if (parenthesized_expression "(pBVar41->autoVacuum != '\0')" ( (binary_expression "pBVar41->autoVacuum != '\0'" (field_expression "pBVar41->autoVacuum" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);\n                }" { (expression_statement "checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64);" (call_expression "checkPtrmap(pCheck_00,PVar37,'\x05',(Pgno)pBStack_64)" identifier (argument_list "(pCheck_00,PVar37,'\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 *)&local_58;" (assignment_expression "pBVar11 = (BtShared *)&local_58" identifier = (cast_expression "(BtShared *)&local_58" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_58" & identifier))) ;) (expression_statement "iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37);" (assignment_expression "iVar29 = (*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37)" identifier = (call_expression "(*(code *)(iVar47 + 0x36fc))(pCheck_00,PVar37)" (parenthesized_expression "(*(code *)(iVar47 + 0x36fc))" ( (pointer_expression "*(code *)(iVar47 + 0x36fc)" * (cast_expression "(code *)(iVar47 + 0x36fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar47 + 0x36fc)" ( (binary_expression "iVar47 + 0x36fc" identifier + number_literal) )))) )) (argument_list "(pCheck_00,PVar37)" ( identifier , identifier )))) ;) (if_statement "if (iVar29 == iStack_108) {\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }\n                else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }" if (parenthesized_expression "(iVar29 == iStack_108)" ( (binary_expression "iVar29 == iStack_108" identifier == identifier) )) (compound_statement "{\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "iStack_108 = iVar29;" (assignment_expression "iStack_108 = iVar29" identifier = identifier) ;) }) (else_clause "else {\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }" else (compound_statement "{\n                  (*pcVar6)(pCheck_00,iVar40 + -0x773c);\n                  bVar2 = false;\n                  iStack_108 = iVar29;\n                }" { (expression_statement "(*pcVar6)(pCheck_00,iVar40 + -0x773c);" (call_expression "(*pcVar6)(pCheck_00,iVar40 + -0x773c)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(pCheck_00,iVar40 + -0x773c)" ( identifier , (binary_expression "iVar40 + -0x773c" identifier + number_literal) ))) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "iStack_108 = iVar29;" (assignment_expression "iStack_108 = iVar29" identifier = identifier) ;) }))) }) (else_clause "else {\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);\n              }" else (compound_statement "{\n                pBVar11 = (BtShared *)((ushort)auStack_b0._18_2_ - 1);\n                (*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 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 *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10);" (call_expression "(*(code *)(iVar44 + -0xb3c))\n                          (unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10)" (parenthesized_expression "(*(code *)(iVar44 + -0xb3c))" ( (pointer_expression "*(code *)(iVar44 + -0xb3c)" * (cast_expression "(code *)(iVar44 + -0xb3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + -0xb3c)" ( (binary_expression "iVar44 + -0xb3c" identifier + number_literal) )))) )) (argument_list "(unaff_s7,(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10)" ( identifier , (binary_expression "(uint)((int)&pBVar11->pPager + (int)pBVar22) |\n                                    (int)pBVar22 << 0x10" (call_expression "(uint)((int)&pBVar11->pPager + (int)pBVar22)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)&pBVar11->pPager + (int)pBVar22)" ( (binary_expression "(int)&pBVar11->pPager + (int)pBVar22" (cast_expression "(int)&pBVar11->pPager" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pBVar11->pPager" & (field_expression "pBVar11->pPager" identifier -> field_identifier))) + (cast_expression "(int)pBVar22" ( (type_descriptor "int" primitive_type) ) identifier)) ))) | (binary_expression "(int)pBVar22 << 0x10" (cast_expression "(int)pBVar22" ( (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                (puVar31 = puVar31 + -1, pCheck_00->mxErr != 0))" ( (binary_expression "(unaff_s2 != (BtShared *)0xffffffff) &&\n                (puVar31 = puVar31 + -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 "(puVar31 = puVar31 + -1, pCheck_00->mxErr != 0)" ( (comma_expression "puVar31 = puVar31 + -1, pCheck_00->mxErr != 0" (assignment_expression "puVar31 = puVar31 + -1" identifier = (binary_expression "puVar31 + -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 = local_58;" (assignment_expression "((BtShared *)iPage)->pPager = local_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 "pBVar22 = pBStack_64;" (assignment_expression "pBVar22 = pBStack_64" identifier = identifier) ;) (expression_statement "pBVar41 = pBVar18;" (assignment_expression "pBVar41 = pBVar18" identifier = identifier) ;) (if_statement "if (bVar3) goto LAB_00083c5c;" if (parenthesized_expression "(bVar3)" ( identifier )) (goto_statement "goto LAB_00083c5c;" 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 *)(puVar46 + 0xd8ef8) + -0x7814);\nLAB_00083b74:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }" else (compound_statement "{\n      zFormat = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7814);\nLAB_00083b74:\n      checkAppendMsg(pCheck_00,zFormat);\n      iStack_108 = 0;\n    }" { (expression_statement "zFormat = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7814);" (assignment_expression "zFormat = (char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7814)" identifier = (cast_expression "(char *)(*(int *)(puVar46 + 0xd8ef8) + -0x7814)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar46 + 0xd8ef8) + -0x7814)" ( (binary_expression "*(int *)(puVar46 + 0xd8ef8) + -0x7814" (pointer_expression "*(int *)(puVar46 + 0xd8ef8)" * (cast_expression "(int *)(puVar46 + 0xd8ef8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8ef8)" ( (binary_expression "puVar46 + 0xd8ef8" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_00083b74:\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_00083b8c:\n    if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar46 + 0xd8f70) + -0x138c))(pMStack_b4->pDbPage);\n    }" statement_identifier : (if_statement "if (pMStack_b4 != (MemPage *)0x0) {\n      (*(code *)(*(int *)(puVar46 + 0xd8f70) + -0x138c))(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 *)(puVar46 + 0xd8f70) + -0x138c))(pMStack_b4->pDbPage);\n    }" { (expression_statement "(*(code *)(*(int *)(puVar46 + 0xd8f70) + -0x138c))(pMStack_b4->pDbPage);" (call_expression "(*(code *)(*(int *)(puVar46 + 0xd8f70) + -0x138c))(pMStack_b4->pDbPage)" (parenthesized_expression "(*(code *)(*(int *)(puVar46 + 0xd8f70) + -0x138c))" ( (pointer_expression "*(code *)(*(int *)(puVar46 + 0xd8f70) + -0x138c)" * (cast_expression "(code *)(*(int *)(puVar46 + 0xd8f70) + -0x138c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar46 + 0xd8f70) + -0x138c)" ( (binary_expression "*(int *)(puVar46 + 0xd8f70) + -0x138c" (pointer_expression "*(int *)(puVar46 + 0xd8f70)" * (cast_expression "(int *)(puVar46 + 0xd8f70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar46 + 0xd8f70)" ( (binary_expression "puVar46 + 0xd8f70" 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 = iVar15;" (assignment_expression "pCheck_00->v1 = iVar15" (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 *)*piVar33) {\n    return;\n  }" if (parenthesized_expression "((sqlite3 *)auStack_b0._28_4_ == (sqlite3 *)*piVar33)" ( (binary_expression "(sqlite3 *)auStack_b0._28_4_ == (sqlite3 *)*piVar33" (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 *)*piVar33" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar33" * identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar6 = *(code **)(puVar46 + 0xd9318);" (assignment_expression "pcVar6 = *(code **)(puVar46 + 0xd9318)" identifier = (pointer_expression "*(code **)(puVar46 + 0xd9318)" * (cast_expression "(code **)(puVar46 + 0xd9318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar46 + 0xd9318)" ( (binary_expression "puVar46 + 0xd9318" identifier + number_literal) ))))) ;) (expression_statement "pcVar7 = rtreenode;" (assignment_expression "pcVar7 = rtreenode" identifier = identifier) ;) (expression_statement "psVar20 = (sqlite3 *)auStack_b0._28_4_;" (assignment_expression "psVar20 = (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 "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "puVar27 = (undefined4 *)&DAT_000001f8;" (assignment_expression "puVar27 = (undefined4 *)&DAT_000001f8" identifier = (cast_expression "(undefined4 *)&DAT_000001f8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001f8" & identifier))) ;) (expression_statement "piVar43 = *(int **)(pcVar6 + 0xd8a28);" (assignment_expression "piVar43 = *(int **)(pcVar6 + 0xd8a28)" identifier = (pointer_expression "*(int **)(pcVar6 + 0xd8a28)" * (cast_expression "(int **)(pcVar6 + 0xd8a28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd8a28)" ( (binary_expression "pcVar6 + 0xd8a28" identifier + number_literal) ))))) ;) (expression_statement "uStackY_3b0 = 0;" (assignment_expression "uStackY_3b0 = 0" identifier = number_literal) ;) (expression_statement "uStackY_3ac = 0;" (assignment_expression "uStackY_3ac = 0" identifier = number_literal) ;) (expression_statement "uStackY_3a8 = 0;" (assignment_expression "uStackY_3a8 = 0" identifier = number_literal) ;) (expression_statement "uStackY_3a4 = 0;" (assignment_expression "uStackY_3a4 = 0" identifier = number_literal) ;) (expression_statement "uStackY_3a0 = 0;" (assignment_expression "uStackY_3a0 = 0" identifier = number_literal) ;) (expression_statement "uStackY_39c = 0;" (assignment_expression "uStackY_39c = 0" identifier = number_literal) ;) (expression_statement "iStackY_398 = 0;" (assignment_expression "iStackY_398 = 0" identifier = number_literal) ;) (expression_statement "uStackY_394 = 0;" (assignment_expression "uStackY_394 = 0" identifier = number_literal) ;) (expression_statement "iStackY_164 = *piVar43;" (assignment_expression "iStackY_164 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (expression_statement "piStackY_160 = piVar33;" (assignment_expression "piStackY_160 = piVar33" identifier = identifier) ;) (expression_statement "pBStackY_15c = pBVar22;" (assignment_expression "pBStackY_15c = pBVar22" identifier = identifier) ;) (expression_statement "pBStackY_158 = unaff_s2;" (assignment_expression "pBStackY_158 = unaff_s2" identifier = identifier) ;) (expression_statement "iStackY_154 = iStack_108;" (assignment_expression "iStackY_154 = iStack_108" identifier = identifier) ;) (expression_statement "pBStackY_150 = pBVar41;" (assignment_expression "pBStackY_150 = pBVar41" identifier = identifier) ;) (expression_statement "pBStackY_14c = (BtShared *)iPage;" (assignment_expression "pBStackY_14c = (BtShared *)iPage" identifier = (cast_expression "(BtShared *)iPage" ( (type_descriptor "BtShared *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puStackY_148 = (u8 *)isFreeList;" (assignment_expression "puStackY_148 = (u8 *)isFreeList" identifier = (cast_expression "(u8 *)isFreeList" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pBStackY_144 = unaff_s7;" (assignment_expression "pBStackY_144 = unaff_s7" identifier = identifier) ;) (expression_statement "pIStackY_140 = pCheck_00;" (assignment_expression "pIStackY_140 = pCheck_00" identifier = identifier) ;) (expression_statement "pcStackY_13c = pcVar7;" (assignment_expression "pcStackY_13c = pcVar7" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar6 + 0xd89b0))(auStackY_360);" (call_expression "(**(code **)(pcVar6 + 0xd89b0))(auStackY_360)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd89b0))" ( (pointer_expression "**(code **)(pcVar6 + 0xd89b0)" * (pointer_expression "*(code **)(pcVar6 + 0xd89b0)" * (cast_expression "(code **)(pcVar6 + 0xd89b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd89b0)" ( (binary_expression "pcVar6 + 0xd89b0" identifier + number_literal) ))))) )) (argument_list "(auStackY_360)" ( identifier ))) ;) (expression_statement "psVar21 = (sqlite3 *)pBVar11->pPager;" (assignment_expression "psVar21 = (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 "bStackY_34c = (**(code **)(pcVar6 + 0xd8730))(psVar21);" (assignment_expression "bStackY_34c = (**(code **)(pcVar6 + 0xd8730))(psVar21)" identifier = (call_expression "(**(code **)(pcVar6 + 0xd8730))(psVar21)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd8730))" ( (pointer_expression "**(code **)(pcVar6 + 0xd8730)" * (pointer_expression "*(code **)(pcVar6 + 0xd8730)" * (cast_expression "(code **)(pcVar6 + 0xd8730)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd8730)" ( (binary_expression "pcVar6 + 0xd8730" identifier + number_literal) ))))) )) (argument_list "(psVar21)" ( identifier )))) ;) (if_statement "if (bStackY_34c - 1 < 5) {\n    bStackY_34b = bStackY_34c << 1;\n    bStackY_349 = (bStackY_34c + 1) * '\b';\n    iStackY_398 = (**(code **)(pcVar6 + 0xd8628))(pBVar11->db);\n    psVar21 = pBVar11->db;\n    iVar15 = (**(code **)(pcVar6 + 0xd862c))(psVar21);\n    if (3 < iVar15) {\n      uVar24 = (uint)bStackY_349;\n      psVar21 = (sqlite3 *)(uint)*(byte *)(iStackY_398 + 3);\n      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b) * uVar24) <= iVar15) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3) != 0) {\n          iVar15 = *(int *)(pcVar6 + 0xd85ec);\n          iVar8 = *(int *)(pcVar6 + 0xd86bc);\n          iVar40 = 0;\n          (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,0);\n          iVar17 = *(int *)(pcVar6 + 0xd85e0);\n          iVar44 = *(int *)(pcVar6 + 0xd85ec);\n          iVar36 = *(int *)(pcVar6 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);\n            if (bStackY_34b != 0) {\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }\n            iVar40 = iVar40 + 1;\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40) break;\n            (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);\n          }\n        }\n        uVar24 = (**(code **)(pcVar6 + 0xd8820))(p);\n        uVar28 = (**(code **)(pcVar6 + 0xd8824))(p);\n        puVar27 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar6 + 0xd866c))(psVar20,uVar28,0xffffffff,*(undefined4 *)(pcVar6 + 0xd85e4))\n        ;\n        (**(code **)(pcVar6 + 0xd8778))(psVar20);\n        psVar21 = psVar20;\n      }\n    }\n  }" if (parenthesized_expression "(bStackY_34c - 1 < 5)" ( (binary_expression "bStackY_34c - 1 < 5" (binary_expression "bStackY_34c - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n    bStackY_34b = bStackY_34c << 1;\n    bStackY_349 = (bStackY_34c + 1) * '\b';\n    iStackY_398 = (**(code **)(pcVar6 + 0xd8628))(pBVar11->db);\n    psVar21 = pBVar11->db;\n    iVar15 = (**(code **)(pcVar6 + 0xd862c))(psVar21);\n    if (3 < iVar15) {\n      uVar24 = (uint)bStackY_349;\n      psVar21 = (sqlite3 *)(uint)*(byte *)(iStackY_398 + 3);\n      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b) * uVar24) <= iVar15) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3) != 0) {\n          iVar15 = *(int *)(pcVar6 + 0xd85ec);\n          iVar8 = *(int *)(pcVar6 + 0xd86bc);\n          iVar40 = 0;\n          (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,0);\n          iVar17 = *(int *)(pcVar6 + 0xd85e0);\n          iVar44 = *(int *)(pcVar6 + 0xd85ec);\n          iVar36 = *(int *)(pcVar6 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);\n            if (bStackY_34b != 0) {\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }\n            iVar40 = iVar40 + 1;\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40) break;\n            (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);\n          }\n        }\n        uVar24 = (**(code **)(pcVar6 + 0xd8820))(p);\n        uVar28 = (**(code **)(pcVar6 + 0xd8824))(p);\n        puVar27 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar6 + 0xd866c))(psVar20,uVar28,0xffffffff,*(undefined4 *)(pcVar6 + 0xd85e4))\n        ;\n        (**(code **)(pcVar6 + 0xd8778))(psVar20);\n        psVar21 = psVar20;\n      }\n    }\n  }" { (expression_statement "bStackY_34b = bStackY_34c << 1;" (assignment_expression "bStackY_34b = bStackY_34c << 1" identifier = (binary_expression "bStackY_34c << 1" identifier << number_literal)) ;) (expression_statement "bStackY_349 = (bStackY_34c + 1) * '\b';" (assignment_expression "bStackY_349 = (bStackY_34c + 1) * '\b'" identifier = (binary_expression "(bStackY_34c + 1) * '\b'" (parenthesized_expression "(bStackY_34c + 1)" ( (binary_expression "bStackY_34c + 1" identifier + number_literal) )) * (char_literal "'\b'" ' escape_sequence '))) ;) (expression_statement "iStackY_398 = (**(code **)(pcVar6 + 0xd8628))(pBVar11->db);" (assignment_expression "iStackY_398 = (**(code **)(pcVar6 + 0xd8628))(pBVar11->db)" identifier = (call_expression "(**(code **)(pcVar6 + 0xd8628))(pBVar11->db)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd8628))" ( (pointer_expression "**(code **)(pcVar6 + 0xd8628)" * (pointer_expression "*(code **)(pcVar6 + 0xd8628)" * (cast_expression "(code **)(pcVar6 + 0xd8628)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd8628)" ( (binary_expression "pcVar6 + 0xd8628" identifier + number_literal) ))))) )) (argument_list "(pBVar11->db)" ( (field_expression "pBVar11->db" identifier -> field_identifier) )))) ;) (expression_statement "psVar21 = pBVar11->db;" (assignment_expression "psVar21 = pBVar11->db" identifier = (field_expression "pBVar11->db" identifier -> field_identifier)) ;) (expression_statement "iVar15 = (**(code **)(pcVar6 + 0xd862c))(psVar21);" (assignment_expression "iVar15 = (**(code **)(pcVar6 + 0xd862c))(psVar21)" identifier = (call_expression "(**(code **)(pcVar6 + 0xd862c))(psVar21)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd862c))" ( (pointer_expression "**(code **)(pcVar6 + 0xd862c)" * (pointer_expression "*(code **)(pcVar6 + 0xd862c)" * (cast_expression "(code **)(pcVar6 + 0xd862c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd862c)" ( (binary_expression "pcVar6 + 0xd862c" identifier + number_literal) ))))) )) (argument_list "(psVar21)" ( identifier )))) ;) (if_statement "if (3 < iVar15) {\n      uVar24 = (uint)bStackY_349;\n      psVar21 = (sqlite3 *)(uint)*(byte *)(iStackY_398 + 3);\n      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b) * uVar24) <= iVar15) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3) != 0) {\n          iVar15 = *(int *)(pcVar6 + 0xd85ec);\n          iVar8 = *(int *)(pcVar6 + 0xd86bc);\n          iVar40 = 0;\n          (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,0);\n          iVar17 = *(int *)(pcVar6 + 0xd85e0);\n          iVar44 = *(int *)(pcVar6 + 0xd85ec);\n          iVar36 = *(int *)(pcVar6 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);\n            if (bStackY_34b != 0) {\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }\n            iVar40 = iVar40 + 1;\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40) break;\n            (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);\n          }\n        }\n        uVar24 = (**(code **)(pcVar6 + 0xd8820))(p);\n        uVar28 = (**(code **)(pcVar6 + 0xd8824))(p);\n        puVar27 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar6 + 0xd866c))(psVar20,uVar28,0xffffffff,*(undefined4 *)(pcVar6 + 0xd85e4))\n        ;\n        (**(code **)(pcVar6 + 0xd8778))(psVar20);\n        psVar21 = psVar20;\n      }\n    }" if (parenthesized_expression "(3 < iVar15)" ( (binary_expression "3 < iVar15" number_literal < identifier) )) (compound_statement "{\n      uVar24 = (uint)bStackY_349;\n      psVar21 = (sqlite3 *)(uint)*(byte *)(iStackY_398 + 3);\n      if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b) * uVar24) <= iVar15) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3) != 0) {\n          iVar15 = *(int *)(pcVar6 + 0xd85ec);\n          iVar8 = *(int *)(pcVar6 + 0xd86bc);\n          iVar40 = 0;\n          (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,0);\n          iVar17 = *(int *)(pcVar6 + 0xd85e0);\n          iVar44 = *(int *)(pcVar6 + 0xd85ec);\n          iVar36 = *(int *)(pcVar6 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);\n            if (bStackY_34b != 0) {\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }\n            iVar40 = iVar40 + 1;\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40) break;\n            (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);\n          }\n        }\n        uVar24 = (**(code **)(pcVar6 + 0xd8820))(p);\n        uVar28 = (**(code **)(pcVar6 + 0xd8824))(p);\n        puVar27 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar6 + 0xd866c))(psVar20,uVar28,0xffffffff,*(undefined4 *)(pcVar6 + 0xd85e4))\n        ;\n        (**(code **)(pcVar6 + 0xd8778))(psVar20);\n        psVar21 = psVar20;\n      }\n    }" { (expression_statement "uVar24 = (uint)bStackY_349;" (assignment_expression "uVar24 = (uint)bStackY_349" identifier = (cast_expression "(uint)bStackY_349" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "psVar21 = (sqlite3 *)(uint)*(byte *)(iStackY_398 + 3);" (assignment_expression "psVar21 = (sqlite3 *)(uint)*(byte *)(iStackY_398 + 3)" identifier = (binary_expression "(sqlite3 *)(uint)*(byte *)(iStackY_398 + 3)" (cast_expression "(sqlite3 *)(uint)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(iStackY_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_398 + 3)" ( (binary_expression "iStackY_398 + 3" identifier + number_literal) ))))) ;) (if_statement "if ((int)((int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b) * uVar24) <= iVar15) {\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3) != 0) {\n          iVar15 = *(int *)(pcVar6 + 0xd85ec);\n          iVar8 = *(int *)(pcVar6 + 0xd86bc);\n          iVar40 = 0;\n          (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,0);\n          iVar17 = *(int *)(pcVar6 + 0xd85e0);\n          iVar44 = *(int *)(pcVar6 + 0xd85ec);\n          iVar36 = *(int *)(pcVar6 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);\n            if (bStackY_34b != 0) {\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }\n            iVar40 = iVar40 + 1;\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40) break;\n            (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);\n          }\n        }\n        uVar24 = (**(code **)(pcVar6 + 0xd8820))(p);\n        uVar28 = (**(code **)(pcVar6 + 0xd8824))(p);\n        puVar27 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar6 + 0xd866c))(psVar20,uVar28,0xffffffff,*(undefined4 *)(pcVar6 + 0xd85e4))\n        ;\n        (**(code **)(pcVar6 + 0xd8778))(psVar20);\n        psVar21 = psVar20;\n      }" if (parenthesized_expression "((int)((int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b) * uVar24) <= iVar15)" ( (binary_expression "(int)((int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b) * uVar24) <= iVar15" (cast_expression "(int)((int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b) * uVar24)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b) * uVar24)" ( (binary_expression "(int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b) * uVar24" (cast_expression "(int)(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b)" ( (binary_expression "((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40 + -0x1b" (binary_expression "((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit +\n                     (uint)*(byte *)(iStackY_398 + 2) * 0x40" (field_expression "((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))->aLimit" (parenthesized_expression "((sqlite3 *)(uint)*(byte *)(iStackY_398 + 3))" ( (binary_expression "(sqlite3 *)(uint)*(byte *)(iStackY_398 + 3)" (cast_expression "(sqlite3 *)(uint)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)(iStackY_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_398 + 3)" ( (binary_expression "iStackY_398 + 3" identifier + number_literal) )))) )) -> field_identifier) + (binary_expression "(uint)*(byte *)(iStackY_398 + 2) * 0x40" (binary_expression "(uint)*(byte *)(iStackY_398 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStackY_398 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_398 + 2)" ( (binary_expression "iStackY_398 + 2" identifier + number_literal) )))) * number_literal)) + number_literal) ))) * identifier) ))) <= identifier) )) (compound_statement "{\n        p = (StrAccum *)(**(code **)(pcVar6 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3) != 0) {\n          iVar15 = *(int *)(pcVar6 + 0xd85ec);\n          iVar8 = *(int *)(pcVar6 + 0xd86bc);\n          iVar40 = 0;\n          (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,0);\n          iVar17 = *(int *)(pcVar6 + 0xd85e0);\n          iVar44 = *(int *)(pcVar6 + 0xd85ec);\n          iVar36 = *(int *)(pcVar6 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);\n            if (bStackY_34b != 0) {\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }\n            iVar40 = iVar40 + 1;\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40) break;\n            (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);\n          }\n        }\n        uVar24 = (**(code **)(pcVar6 + 0xd8820))(p);\n        uVar28 = (**(code **)(pcVar6 + 0xd8824))(p);\n        puVar27 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar6 + 0xd866c))(psVar20,uVar28,0xffffffff,*(undefined4 *)(pcVar6 + 0xd85e4))\n        ;\n        (**(code **)(pcVar6 + 0xd8778))(psVar20);\n        psVar21 = psVar20;\n      }" { (expression_statement "p = (StrAccum *)(**(code **)(pcVar6 + 0xd881c))(0);" (assignment_expression "p = (StrAccum *)(**(code **)(pcVar6 + 0xd881c))(0)" identifier = (cast_expression "(StrAccum *)(**(code **)(pcVar6 + 0xd881c))(0)" ( (type_descriptor "StrAccum *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar6 + 0xd881c))(0)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd881c))" ( (pointer_expression "**(code **)(pcVar6 + 0xd881c)" * (pointer_expression "*(code **)(pcVar6 + 0xd881c)" * (cast_expression "(code **)(pcVar6 + 0xd881c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd881c)" ( (binary_expression "pcVar6 + 0xd881c" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if ((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3) != 0) {\n          iVar15 = *(int *)(pcVar6 + 0xd85ec);\n          iVar8 = *(int *)(pcVar6 + 0xd86bc);\n          iVar40 = 0;\n          (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,0);\n          iVar17 = *(int *)(pcVar6 + 0xd85e0);\n          iVar44 = *(int *)(pcVar6 + 0xd85ec);\n          iVar36 = *(int *)(pcVar6 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);\n            if (bStackY_34b != 0) {\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }\n            iVar40 = iVar40 + 1;\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40) break;\n            (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);\n          }\n        }" if (parenthesized_expression "((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3) != 0)" ( (binary_expression "(uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3) != 0" (binary_expression "(uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3)" (binary_expression "(uint)*(byte *)(iStackY_398 + 2) * 0x100" (binary_expression "(uint)*(byte *)(iStackY_398 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStackY_398 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_398 + 2)" ( (binary_expression "iStackY_398 + 2" identifier + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)(iStackY_398 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStackY_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_398 + 3)" ( (binary_expression "iStackY_398 + 3" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n          iVar15 = *(int *)(pcVar6 + 0xd85ec);\n          iVar8 = *(int *)(pcVar6 + 0xd86bc);\n          iVar40 = 0;\n          (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,0);\n          iVar17 = *(int *)(pcVar6 + 0xd85e0);\n          iVar44 = *(int *)(pcVar6 + 0xd85ec);\n          iVar36 = *(int *)(pcVar6 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);\n            if (bStackY_34b != 0) {\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }\n            iVar40 = iVar40 + 1;\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40) break;\n            (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);\n          }\n        }" { (expression_statement "iVar15 = *(int *)(pcVar6 + 0xd85ec);" (assignment_expression "iVar15 = *(int *)(pcVar6 + 0xd85ec)" identifier = (pointer_expression "*(int *)(pcVar6 + 0xd85ec)" * (cast_expression "(int *)(pcVar6 + 0xd85ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xd85ec)" ( (binary_expression "pcVar6 + 0xd85ec" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(pcVar6 + 0xd86bc);" (assignment_expression "iVar8 = *(int *)(pcVar6 + 0xd86bc)" identifier = (pointer_expression "*(int *)(pcVar6 + 0xd86bc)" * (cast_expression "(int *)(pcVar6 + 0xd86bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xd86bc)" ( (binary_expression "pcVar6 + 0xd86bc" identifier + number_literal) ))))) ;) (expression_statement "iVar40 = 0;" (assignment_expression "iVar40 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,0);" (call_expression "(*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,0)" (parenthesized_expression "(*(code *)(iVar8 + -0x1554))" ( (pointer_expression "*(code *)(iVar8 + -0x1554)" * (cast_expression "(code *)(iVar8 + -0x1554)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x1554)" ( (binary_expression "iVar8 + -0x1554" identifier + number_literal) )))) )) (argument_list "(auStackY_360,&uStackY_3b0,0)" ( identifier , (pointer_expression "&uStackY_3b0" & identifier) , number_literal ))) ;) (expression_statement "iVar17 = *(int *)(pcVar6 + 0xd85e0);" (assignment_expression "iVar17 = *(int *)(pcVar6 + 0xd85e0)" identifier = (pointer_expression "*(int *)(pcVar6 + 0xd85e0)" * (cast_expression "(int *)(pcVar6 + 0xd85e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xd85e0)" ( (binary_expression "pcVar6 + 0xd85e0" identifier + number_literal) ))))) ;) (expression_statement "iVar44 = *(int *)(pcVar6 + 0xd85ec);" (assignment_expression "iVar44 = *(int *)(pcVar6 + 0xd85ec)" identifier = (pointer_expression "*(int *)(pcVar6 + 0xd85ec)" * (cast_expression "(int *)(pcVar6 + 0xd85ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xd85ec)" ( (binary_expression "pcVar6 + 0xd85ec" identifier + number_literal) ))))) ;) (expression_statement "iVar36 = *(int *)(pcVar6 + 0xd85ec);" (assignment_expression "iVar36 = *(int *)(pcVar6 + 0xd85ec)" identifier = (pointer_expression "*(int *)(pcVar6 + 0xd85ec)" * (cast_expression "(int *)(pcVar6 + 0xd85ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xd85ec)" ( (binary_expression "pcVar6 + 0xd85ec" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n            sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);\n            if (bStackY_34b != 0) {\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }\n            iVar40 = iVar40 + 1;\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40) break;\n            (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);\n            if (bStackY_34b != 0) {\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }\n            iVar40 = iVar40 + 1;\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40) break;\n            (*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);\n            (**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);\n          }" { (expression_statement "sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c);" (call_expression "sqlite3_str_appendf(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c)" identifier (argument_list "(p,(char *)(iVar44 + -0x76c4),uStackY_390,uStackY_38c)" ( identifier , (cast_expression "(char *)(iVar44 + -0x76c4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar44 + -0x76c4)" ( (binary_expression "iVar44 + -0x76c4" identifier + number_literal) ))) , identifier , identifier ))) ;) (if_statement "if (bStackY_34b != 0) {\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }" if (parenthesized_expression "(bStackY_34b != 0)" ( (binary_expression "bStackY_34b != 0" identifier != number_literal) )) (compound_statement "{\n              pfVar45 = afStackY_388;\n              iVar47 = 0;\n              do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);\n            }" { (expression_statement "pfVar45 = afStackY_388;" (assignment_expression "pfVar45 = afStackY_388" identifier = identifier) ;) (expression_statement "iVar47 = 0;" (assignment_expression "iVar47 = 0" identifier = number_literal) ;) (do_statement "do {\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              } while (iVar47 < (int)(uint)bStackY_34b);" do (compound_statement "{\n                fVar48 = *pfVar45;\n                iVar47 = iVar47 + 1;\n                pfVar45 = pfVar45 + 1;\n                sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );\n              }" { (expression_statement "fVar48 = *pfVar45;" (assignment_expression "fVar48 = *pfVar45" identifier = (pointer_expression "*pfVar45" * identifier)) ;) (expression_statement "iVar47 = iVar47 + 1;" (assignment_expression "iVar47 = iVar47 + 1" identifier = (binary_expression "iVar47 + 1" identifier + number_literal)) ;) (expression_statement "pfVar45 = pfVar45 + 1;" (assignment_expression "pfVar45 = pfVar45 + 1" identifier = (binary_expression "pfVar45 + 1" identifier + number_literal)) ;) (expression_statement "sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   );" (call_expression "sqlite3_str_appendf(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   )" identifier (argument_list "(p,(char *)(iVar36 + -0x76bc),\n                                    (int)((ulonglong)(double)fVar48 >> 0x20),SUB84((double)fVar48,0)\n                                   )" ( identifier , (cast_expression "(char *)(iVar36 + -0x76bc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar36 + -0x76bc)" ( (binary_expression "iVar36 + -0x76bc" identifier + number_literal) ))) , (cast_expression "(int)((ulonglong)(double)fVar48 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)fVar48 >> 0x20)" ( (binary_expression "(ulonglong)(double)fVar48 >> 0x20" (cast_expression "(ulonglong)(double)fVar48" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)fVar48" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) , (call_expression "SUB84((double)fVar48,0)" identifier (argument_list "((double)fVar48,0)" ( (cast_expression "(double)fVar48" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) ))) ;) }) while (parenthesized_expression "(iVar47 < (int)(uint)bStackY_34b)" ( (binary_expression "iVar47 < (int)(uint)bStackY_34b" identifier < (cast_expression "(int)(uint)bStackY_34b" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)bStackY_34b" ( (type_descriptor "uint" type_identifier) ) identifier))) )) ;) })) (expression_statement "iVar40 = iVar40 + 1;" (assignment_expression "iVar40 = iVar40 + 1" identifier = (binary_expression "iVar40 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1);" (call_expression "(**(code **)(pcVar6 + 0xd87bc))(p,iVar15 + -0x739c,1)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd87bc))" ( (pointer_expression "**(code **)(pcVar6 + 0xd87bc)" * (pointer_expression "*(code **)(pcVar6 + 0xd87bc)" * (cast_expression "(code **)(pcVar6 + 0xd87bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd87bc)" ( (binary_expression "pcVar6 + 0xd87bc" identifier + number_literal) ))))) )) (argument_list "(p,iVar15 + -0x739c,1)" ( identifier , (binary_expression "iVar15 + -0x739c" identifier + number_literal) , number_literal ))) ;) (if_statement "if ((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40) break;" if (parenthesized_expression "((int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40)" ( (binary_expression "(int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))\n                <= iVar40" (cast_expression "(int)((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3))" ( (binary_expression "(uint)*(byte *)(iStackY_398 + 2) * 0x100 + (uint)*(byte *)(iStackY_398 + 3)" (binary_expression "(uint)*(byte *)(iStackY_398 + 2) * 0x100" (binary_expression "(uint)*(byte *)(iStackY_398 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStackY_398 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_398 + 2)" ( (binary_expression "iStackY_398 + 2" identifier + number_literal) )))) * number_literal) + (binary_expression "(uint)*(byte *)(iStackY_398 + 3)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(iStackY_398 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStackY_398 + 3)" ( (binary_expression "iStackY_398 + 3" identifier + number_literal) ))))) ))) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "(*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390);" (call_expression "(*(code *)(iVar8 + -0x1554))(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390)" (parenthesized_expression "(*(code *)(iVar8 + -0x1554))" ( (pointer_expression "*(code *)(iVar8 + -0x1554)" * (cast_expression "(code *)(iVar8 + -0x1554)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + -0x1554)" ( (binary_expression "iVar8 + -0x1554" identifier + number_literal) )))) )) (argument_list "(auStackY_360,&uStackY_3b0,iVar40,&uStackY_390)" ( identifier , (pointer_expression "&uStackY_3b0" & identifier) , identifier , (pointer_expression "&uStackY_390" & identifier) ))) ;) (expression_statement "(**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1);" (call_expression "(**(code **)(pcVar6 + 0xd87bc))(p,iVar17 + 0x5dc8,1)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd87bc))" ( (pointer_expression "**(code **)(pcVar6 + 0xd87bc)" * (pointer_expression "*(code **)(pcVar6 + 0xd87bc)" * (cast_expression "(code **)(pcVar6 + 0xd87bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd87bc)" ( (binary_expression "pcVar6 + 0xd87bc" identifier + number_literal) ))))) )) (argument_list "(p,iVar17 + 0x5dc8,1)" ( identifier , (binary_expression "iVar17 + 0x5dc8" identifier + number_literal) , number_literal ))) ;) })) })) (expression_statement "uVar24 = (**(code **)(pcVar6 + 0xd8820))(p);" (assignment_expression "uVar24 = (**(code **)(pcVar6 + 0xd8820))(p)" identifier = (call_expression "(**(code **)(pcVar6 + 0xd8820))(p)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd8820))" ( (pointer_expression "**(code **)(pcVar6 + 0xd8820)" * (pointer_expression "*(code **)(pcVar6 + 0xd8820)" * (cast_expression "(code **)(pcVar6 + 0xd8820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd8820)" ( (binary_expression "pcVar6 + 0xd8820" identifier + number_literal) ))))) )) (argument_list "(p)" ( identifier )))) ;) (expression_statement "uVar28 = (**(code **)(pcVar6 + 0xd8824))(p);" (assignment_expression "uVar28 = (**(code **)(pcVar6 + 0xd8824))(p)" identifier = (call_expression "(**(code **)(pcVar6 + 0xd8824))(p)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd8824))" ( (pointer_expression "**(code **)(pcVar6 + 0xd8824)" * (pointer_expression "*(code **)(pcVar6 + 0xd8824)" * (cast_expression "(code **)(pcVar6 + 0xd8824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd8824)" ( (binary_expression "pcVar6 + 0xd8824" identifier + number_literal) ))))) )) (argument_list "(p)" ( identifier )))) ;) (expression_statement "puVar27 = (undefined4 *)0xffffffff;" (assignment_expression "puVar27 = (undefined4 *)0xffffffff" identifier = (cast_expression "(undefined4 *)0xffffffff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar6 + 0xd866c))(psVar20,uVar28,0xffffffff,*(undefined4 *)(pcVar6 + 0xd85e4))\n        ;" (call_expression "(**(code **)(pcVar6 + 0xd866c))(psVar20,uVar28,0xffffffff,*(undefined4 *)(pcVar6 + 0xd85e4))" (parenthesized_expression "(**(code **)(pcVar6 + 0xd866c))" ( (pointer_expression "**(code **)(pcVar6 + 0xd866c)" * (pointer_expression "*(code **)(pcVar6 + 0xd866c)" * (cast_expression "(code **)(pcVar6 + 0xd866c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd866c)" ( (binary_expression "pcVar6 + 0xd866c" identifier + number_literal) ))))) )) (argument_list "(psVar20,uVar28,0xffffffff,*(undefined4 *)(pcVar6 + 0xd85e4))" ( identifier , identifier , number_literal , (pointer_expression "*(undefined4 *)(pcVar6 + 0xd85e4)" * (cast_expression "(undefined4 *)(pcVar6 + 0xd85e4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xd85e4)" ( (binary_expression "pcVar6 + 0xd85e4" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(pcVar6 + 0xd8778))(psVar20);" (call_expression "(**(code **)(pcVar6 + 0xd8778))(psVar20)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd8778))" ( (pointer_expression "**(code **)(pcVar6 + 0xd8778)" * (pointer_expression "*(code **)(pcVar6 + 0xd8778)" * (cast_expression "(code **)(pcVar6 + 0xd8778)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd8778)" ( (binary_expression "pcVar6 + 0xd8778" identifier + number_literal) ))))) )) (argument_list "(psVar20)" ( identifier ))) ;) (expression_statement "psVar21 = psVar20;" (assignment_expression "psVar21 = psVar20" identifier = identifier) ;) })) })) })) (if_statement "if (iStackY_164 == *piVar43) {\n    return;\n  }" if (parenthesized_expression "(iStackY_164 == *piVar43)" ( (binary_expression "iStackY_164 == *piVar43" identifier == (pointer_expression "*piVar43" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar6 = *(code **)(pcVar6 + 0xd8a0c);" (assignment_expression "pcVar6 = *(code **)(pcVar6 + 0xd8a0c)" identifier = (pointer_expression "*(code **)(pcVar6 + 0xd8a0c)" * (cast_expression "(code **)(pcVar6 + 0xd8a0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd8a0c)" ( (binary_expression "pcVar6 + 0xd8a0c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar6)();" (call_expression "(*pcVar6)()" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar15 = (**(code **)(pcVar6 + 0xd8304))(*puVar27);" (assignment_expression "iVar15 = (**(code **)(pcVar6 + 0xd8304))(*puVar27)" identifier = (call_expression "(**(code **)(pcVar6 + 0xd8304))(*puVar27)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd8304))" ( (pointer_expression "**(code **)(pcVar6 + 0xd8304)" * (pointer_expression "*(code **)(pcVar6 + 0xd8304)" * (cast_expression "(code **)(pcVar6 + 0xd8304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd8304)" ( (binary_expression "pcVar6 + 0xd8304" identifier + number_literal) ))))) )) (argument_list "(*puVar27)" ( (pointer_expression "*puVar27" * identifier) )))) ;) (if_statement "if (iVar15 == 5) {\n    return;\n  }" if (parenthesized_expression "(iVar15 == 5)" ( (binary_expression "iVar15 == 5" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "iVar15 = (**(code **)(pcVar6 + 0xd8450))(psVar21,0x18);" (assignment_expression "iVar15 = (**(code **)(pcVar6 + 0xd8450))(psVar21,0x18)" identifier = (call_expression "(**(code **)(pcVar6 + 0xd8450))(psVar21,0x18)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd8450))" ( (pointer_expression "**(code **)(pcVar6 + 0xd8450)" * (pointer_expression "*(code **)(pcVar6 + 0xd8450)" * (cast_expression "(code **)(pcVar6 + 0xd8450)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd8450)" ( (binary_expression "pcVar6 + 0xd8450" identifier + number_literal) ))))) )) (argument_list "(psVar21,0x18)" ( identifier , number_literal )))) ;) (if_statement "if (iVar15 == 0) {\n    return;\n  }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "iVar8 = (**(code **)(pcVar6 + 0xd83c8))(psVar21);" (assignment_expression "iVar8 = (**(code **)(pcVar6 + 0xd83c8))(psVar21)" identifier = (call_expression "(**(code **)(pcVar6 + 0xd83c8))(psVar21)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd83c8))" ( (pointer_expression "**(code **)(pcVar6 + 0xd83c8)" * (pointer_expression "*(code **)(pcVar6 + 0xd83c8)" * (cast_expression "(code **)(pcVar6 + 0xd83c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd83c8)" ( (binary_expression "pcVar6 + 0xd83c8" identifier + number_literal) ))))) )) (argument_list "(psVar21)" ( identifier )))) ;) (expression_statement "iVar17 = *(int *)(iVar15 + 0xc);" (assignment_expression "iVar17 = *(int *)(iVar15 + 0xc)" identifier = (pointer_expression "*(int *)(iVar15 + 0xc)" * (cast_expression "(int *)(iVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xc)" ( (binary_expression "iVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar15 + 0xc) = *(undefined4 *)(iVar8 + 0x6c);" (assignment_expression "*(undefined4 *)(iVar15 + 0xc) = *(undefined4 *)(iVar8 + 0x6c)" (pointer_expression "*(undefined4 *)(iVar15 + 0xc)" * (cast_expression "(undefined4 *)(iVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xc)" ( (binary_expression "iVar15 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x6c)" * (cast_expression "(undefined4 *)(iVar8 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x6c)" ( (binary_expression "iVar8 + 0x6c" identifier + number_literal) ))))) ;) (if_statement "if (iVar17 != 0) {\n    if (uVar24 == 2) {\n      iVar8 = (**(code **)(pcVar6 + 0xd831c))(puVar27[1]);\n      uVar28 = (**(code **)(pcVar6 + 0xd8318))(puVar27[1]);\n      if (iVar8 == 0) goto LAB_000843cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }\n    else {\n      uVar28 = 1;\n      iVar8 = *(int *)(pcVar6 + 0xd82cc) + 0x60cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }\n    (*pcVar7)(iVar15,iVar8,uVar28);\n  }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n    if (uVar24 == 2) {\n      iVar8 = (**(code **)(pcVar6 + 0xd831c))(puVar27[1]);\n      uVar28 = (**(code **)(pcVar6 + 0xd8318))(puVar27[1]);\n      if (iVar8 == 0) goto LAB_000843cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }\n    else {\n      uVar28 = 1;\n      iVar8 = *(int *)(pcVar6 + 0xd82cc) + 0x60cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }\n    (*pcVar7)(iVar15,iVar8,uVar28);\n  }" { (if_statement "if (uVar24 == 2) {\n      iVar8 = (**(code **)(pcVar6 + 0xd831c))(puVar27[1]);\n      uVar28 = (**(code **)(pcVar6 + 0xd8318))(puVar27[1]);\n      if (iVar8 == 0) goto LAB_000843cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }\n    else {\n      uVar28 = 1;\n      iVar8 = *(int *)(pcVar6 + 0xd82cc) + 0x60cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }" if (parenthesized_expression "(uVar24 == 2)" ( (binary_expression "uVar24 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar8 = (**(code **)(pcVar6 + 0xd831c))(puVar27[1]);\n      uVar28 = (**(code **)(pcVar6 + 0xd8318))(puVar27[1]);\n      if (iVar8 == 0) goto LAB_000843cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }" { (expression_statement "iVar8 = (**(code **)(pcVar6 + 0xd831c))(puVar27[1]);" (assignment_expression "iVar8 = (**(code **)(pcVar6 + 0xd831c))(puVar27[1])" identifier = (call_expression "(**(code **)(pcVar6 + 0xd831c))(puVar27[1])" (parenthesized_expression "(**(code **)(pcVar6 + 0xd831c))" ( (pointer_expression "**(code **)(pcVar6 + 0xd831c)" * (pointer_expression "*(code **)(pcVar6 + 0xd831c)" * (cast_expression "(code **)(pcVar6 + 0xd831c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd831c)" ( (binary_expression "pcVar6 + 0xd831c" identifier + number_literal) ))))) )) (argument_list "(puVar27[1])" ( (subscript_expression "puVar27[1]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar28 = (**(code **)(pcVar6 + 0xd8318))(puVar27[1]);" (assignment_expression "uVar28 = (**(code **)(pcVar6 + 0xd8318))(puVar27[1])" identifier = (call_expression "(**(code **)(pcVar6 + 0xd8318))(puVar27[1])" (parenthesized_expression "(**(code **)(pcVar6 + 0xd8318))" ( (pointer_expression "**(code **)(pcVar6 + 0xd8318)" * (pointer_expression "*(code **)(pcVar6 + 0xd8318)" * (cast_expression "(code **)(pcVar6 + 0xd8318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd8318)" ( (binary_expression "pcVar6 + 0xd8318" identifier + number_literal) ))))) )) (argument_list "(puVar27[1])" ( (subscript_expression "puVar27[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_000843cc;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000843cc;" goto statement_identifier ;)) (expression_statement "pcVar7 = *(code **)(pcVar6 + 0xd84a8);" (assignment_expression "pcVar7 = *(code **)(pcVar6 + 0xd84a8)" identifier = (pointer_expression "*(code **)(pcVar6 + 0xd84a8)" * (cast_expression "(code **)(pcVar6 + 0xd84a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd84a8)" ( (binary_expression "pcVar6 + 0xd84a8" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      uVar28 = 1;\n      iVar8 = *(int *)(pcVar6 + 0xd82cc) + 0x60cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }" else (compound_statement "{\n      uVar28 = 1;\n      iVar8 = *(int *)(pcVar6 + 0xd82cc) + 0x60cc;\n      pcVar7 = *(code **)(pcVar6 + 0xd84a8);\n    }" { (expression_statement "uVar28 = 1;" (assignment_expression "uVar28 = 1" identifier = number_literal) ;) (expression_statement "iVar8 = *(int *)(pcVar6 + 0xd82cc) + 0x60cc;" (assignment_expression "iVar8 = *(int *)(pcVar6 + 0xd82cc) + 0x60cc" identifier = (binary_expression "*(int *)(pcVar6 + 0xd82cc) + 0x60cc" (pointer_expression "*(int *)(pcVar6 + 0xd82cc)" * (cast_expression "(int *)(pcVar6 + 0xd82cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xd82cc)" ( (binary_expression "pcVar6 + 0xd82cc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar7 = *(code **)(pcVar6 + 0xd84a8);" (assignment_expression "pcVar7 = *(code **)(pcVar6 + 0xd84a8)" identifier = (pointer_expression "*(code **)(pcVar6 + 0xd84a8)" * (cast_expression "(code **)(pcVar6 + 0xd84a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd84a8)" ( (binary_expression "pcVar6 + 0xd84a8" identifier + number_literal) ))))) ;) }))) (expression_statement "(*pcVar7)(iVar15,iVar8,uVar28);" (call_expression "(*pcVar7)(iVar15,iVar8,uVar28)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(iVar15,iVar8,uVar28)" ( identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_000843cc:\n  iVar8 = (**(code **)(pcVar6 + 0xd831c))(*puVar27);" statement_identifier : (expression_statement "iVar8 = (**(code **)(pcVar6 + 0xd831c))(*puVar27);" (assignment_expression "iVar8 = (**(code **)(pcVar6 + 0xd831c))(*puVar27)" identifier = (call_expression "(**(code **)(pcVar6 + 0xd831c))(*puVar27)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd831c))" ( (pointer_expression "**(code **)(pcVar6 + 0xd831c)" * (pointer_expression "*(code **)(pcVar6 + 0xd831c)" * (cast_expression "(code **)(pcVar6 + 0xd831c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd831c)" ( (binary_expression "pcVar6 + 0xd831c" identifier + number_literal) ))))) )) (argument_list "(*puVar27)" ( (pointer_expression "*puVar27" * identifier) )))) ;)) (expression_statement "uVar28 = (**(code **)(pcVar6 + 0xd8318))(*puVar27);" (assignment_expression "uVar28 = (**(code **)(pcVar6 + 0xd8318))(*puVar27)" identifier = (call_expression "(**(code **)(pcVar6 + 0xd8318))(*puVar27)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd8318))" ( (pointer_expression "**(code **)(pcVar6 + 0xd8318)" * (pointer_expression "*(code **)(pcVar6 + 0xd8318)" * (cast_expression "(code **)(pcVar6 + 0xd8318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd8318)" ( (binary_expression "pcVar6 + 0xd8318" identifier + number_literal) ))))) )) (argument_list "(*puVar27)" ( (pointer_expression "*puVar27" * identifier) )))) ;) (if_statement "if (iVar8 == 0) {\n    return;\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment comment (expression_statement "(**(code **)(pcVar6 + 0xd84a8))(iVar15,iVar8,uVar28);" (call_expression "(**(code **)(pcVar6 + 0xd84a8))(iVar15,iVar8,uVar28)" (parenthesized_expression "(**(code **)(pcVar6 + 0xd84a8))" ( (pointer_expression "**(code **)(pcVar6 + 0xd84a8)" * (pointer_expression "*(code **)(pcVar6 + 0xd84a8)" * (cast_expression "(code **)(pcVar6 + 0xd84a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar6 + 0xd84a8)" ( (binary_expression "pcVar6 + 0xd84a8" identifier + number_literal) ))))) )) (argument_list "(iVar15,iVar8,uVar28)" ( identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "int FUN_00083390(code ******param_1,code *******param_2,code *******param_3,code *******param_4)\n\n{\n  code *pcVar1;\n  byte bVar2;\n  bool bVar3;\n  undefined *puVar4;\n  code *pcVar5;\n  code *pcVar6;\n  int iVar7;\n  code *****pppppcVar8;\n  code *******pppppppcVar9;\n  code ****ppppcVar10;\n  int iVar11;\n  code *****pppppcVar12;\n  code *******pppppppcVar13;\n  code ****ppppcVar14;\n  int iVar15;\n  code ****ppppcVar16;\n  code ******ppppppcVar17;\n  code ******ppppppcVar18;\n  code *******pppppppcVar19;\n  code ****ppppcVar20;\n  uint uVar21;\n  code *******pppppppcVar22;\n  undefined4 *puVar23;\n  code ****ppppcVar24;\n  code ****ppppcVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code *******unaff_s0;\n  uint *puVar28;\n  undefined *unaff_s1;\n  int iVar29;\n  code *******unaff_s2;\n  code *******unaff_s3;\n  code *****pppppcVar30;\n  int iVar31;\n  code *******unaff_s4;\n  code *******pppppppcVar32;\n  code *******unaff_s5;\n  int *piVar33;\n  int iVar34;\n  code *****unaff_s7;\n  float *pfVar35;\n  undefined *puVar36;\n  int iVar37;\n  undefined4 uVar38;\n  float fVar39;\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  byte bStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  int iStack_164;\n  uint *puStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  int iStack_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  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0015ca30;\n  puVar36 = PTR_s_LE_FTS4_0015c5f4;\n  pppppcVar12 = param_1[5];\n  local_2c = *(int *)PTR___stack_chk_guard_0015ca30;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar18 = param_1;\n    pppppppcVar19 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }\n  }\nLAB_00083534:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  pcVar5 = FUN_000836fc;\n  puVar36 = PTR___stack_chk_fail_0015ca14;\n  (*(code *)PTR___stack_chk_fail_0015ca14)();\n  puStack_120 = puVar36 + 0xe0eb4;\n  puVar28 = *(uint **)(puVar36 + 0xd9334);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*puVar28;\n  pppppppcVar9 = param_3;\n  pppppppcVar32 = 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 = pcVar5;\n  if (pppppppcVar19 == (code *******)0x0) {\nLAB_00083750:\n    iVar7 = 0;\n    ppppppcVar18 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*puVar28) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(puStack_120 + -0x7b9c);\n  uVar38 = 0x84008;\n  ppppppcVar17 = ppppppcStack_94;\n  (*pcVar5)();\n  uVar21 = 0;\n  puVar23 = (undefined4 *)&DAT_000001f8;\n  piVar33 = *(int **)(pcVar5 + 0xd8a28);\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 = *piVar33;\n  puStack_160 = puVar28;\n  pppppppcStack_15c = pppppppcVar19;\n  pppppppcStack_158 = unaff_s2;\n  iStack_154 = iVar7;\n  pppppppcStack_150 = pppppppcVar32;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar18;\n  uStack_13c = uVar38;\n  (**(code **)(pcVar5 + 0xd89b0))(auStack_360);\n  ppppppcVar18 = *pppppppcVar9;\n  bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18);\n  if (bStack_34c - 1 < 5) {\n    bStack_34b = bStack_34c << 1;\n    bStack_349 = (bStack_34c + 1) * '\b';\n    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);\n    ppppppcVar18 = pppppppcVar9[1];\n    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);\n    if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }\n  }\n  iVar7 = *piVar33;\n  if (iStack_164 == iVar7) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(pcVar5 + 0xd8a0c);\n  (*pcVar5)();\n  iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23);\n  if (iVar7 == 5) {\n    return 5;\n  }\n  iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18);\n  if (iVar7 == 0) {\n    return 0;\n  }\n  iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18);\n  iVar15 = *(int *)(iVar7 + 0xc);\n  *(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c);\n  if (iVar15 != 0) {\n    if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    (*pcVar6)(iVar7,iVar11,uVar38);\n  }\nLAB_000843cc:\n  iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);\n  iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23);\n  if (iVar11 == 0) {\n    return iVar15;\n  }\n                    \n                    \n  iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15);\n  return iVar7;\n}\n\n" (function_definition "int FUN_00083390(code ******param_1,code *******param_2,code *******param_3,code *******param_4)\n\n{\n  code *pcVar1;\n  byte bVar2;\n  bool bVar3;\n  undefined *puVar4;\n  code *pcVar5;\n  code *pcVar6;\n  int iVar7;\n  code *****pppppcVar8;\n  code *******pppppppcVar9;\n  code ****ppppcVar10;\n  int iVar11;\n  code *****pppppcVar12;\n  code *******pppppppcVar13;\n  code ****ppppcVar14;\n  int iVar15;\n  code ****ppppcVar16;\n  code ******ppppppcVar17;\n  code ******ppppppcVar18;\n  code *******pppppppcVar19;\n  code ****ppppcVar20;\n  uint uVar21;\n  code *******pppppppcVar22;\n  undefined4 *puVar23;\n  code ****ppppcVar24;\n  code ****ppppcVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code *******unaff_s0;\n  uint *puVar28;\n  undefined *unaff_s1;\n  int iVar29;\n  code *******unaff_s2;\n  code *******unaff_s3;\n  code *****pppppcVar30;\n  int iVar31;\n  code *******unaff_s4;\n  code *******pppppppcVar32;\n  code *******unaff_s5;\n  int *piVar33;\n  int iVar34;\n  code *****unaff_s7;\n  float *pfVar35;\n  undefined *puVar36;\n  int iVar37;\n  undefined4 uVar38;\n  float fVar39;\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  byte bStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  int iStack_164;\n  uint *puStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  int iStack_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  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0015ca30;\n  puVar36 = PTR_s_LE_FTS4_0015c5f4;\n  pppppcVar12 = param_1[5];\n  local_2c = *(int *)PTR___stack_chk_guard_0015ca30;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar18 = param_1;\n    pppppppcVar19 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }\n  }\nLAB_00083534:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  pcVar5 = FUN_000836fc;\n  puVar36 = PTR___stack_chk_fail_0015ca14;\n  (*(code *)PTR___stack_chk_fail_0015ca14)();\n  puStack_120 = puVar36 + 0xe0eb4;\n  puVar28 = *(uint **)(puVar36 + 0xd9334);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*puVar28;\n  pppppppcVar9 = param_3;\n  pppppppcVar32 = 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 = pcVar5;\n  if (pppppppcVar19 == (code *******)0x0) {\nLAB_00083750:\n    iVar7 = 0;\n    ppppppcVar18 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*puVar28) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(puStack_120 + -0x7b9c);\n  uVar38 = 0x84008;\n  ppppppcVar17 = ppppppcStack_94;\n  (*pcVar5)();\n  uVar21 = 0;\n  puVar23 = (undefined4 *)&DAT_000001f8;\n  piVar33 = *(int **)(pcVar5 + 0xd8a28);\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 = *piVar33;\n  puStack_160 = puVar28;\n  pppppppcStack_15c = pppppppcVar19;\n  pppppppcStack_158 = unaff_s2;\n  iStack_154 = iVar7;\n  pppppppcStack_150 = pppppppcVar32;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar18;\n  uStack_13c = uVar38;\n  (**(code **)(pcVar5 + 0xd89b0))(auStack_360);\n  ppppppcVar18 = *pppppppcVar9;\n  bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18);\n  if (bStack_34c - 1 < 5) {\n    bStack_34b = bStack_34c << 1;\n    bStack_349 = (bStack_34c + 1) * '\b';\n    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);\n    ppppppcVar18 = pppppppcVar9[1];\n    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);\n    if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }\n  }\n  iVar7 = *piVar33;\n  if (iStack_164 == iVar7) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(pcVar5 + 0xd8a0c);\n  (*pcVar5)();\n  iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23);\n  if (iVar7 == 5) {\n    return 5;\n  }\n  iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18);\n  if (iVar7 == 0) {\n    return 0;\n  }\n  iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18);\n  iVar15 = *(int *)(iVar7 + 0xc);\n  *(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c);\n  if (iVar15 != 0) {\n    if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    (*pcVar6)(iVar7,iVar11,uVar38);\n  }\nLAB_000843cc:\n  iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);\n  iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23);\n  if (iVar11 == 0) {\n    return iVar15;\n  }\n                    \n                    \n  iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15);\n  return iVar7;\n}" primitive_type (function_declarator "FUN_00083390(code ******param_1,code *******param_2,code *******param_3,code *******param_4)" identifier (parameter_list "(code ******param_1,code *******param_2,code *******param_3,code *******param_4)" ( (parameter_declaration "code ******param_1" type_identifier (pointer_declarator "******param_1" * (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * 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  code *pcVar1;\n  byte bVar2;\n  bool bVar3;\n  undefined *puVar4;\n  code *pcVar5;\n  code *pcVar6;\n  int iVar7;\n  code *****pppppcVar8;\n  code *******pppppppcVar9;\n  code ****ppppcVar10;\n  int iVar11;\n  code *****pppppcVar12;\n  code *******pppppppcVar13;\n  code ****ppppcVar14;\n  int iVar15;\n  code ****ppppcVar16;\n  code ******ppppppcVar17;\n  code ******ppppppcVar18;\n  code *******pppppppcVar19;\n  code ****ppppcVar20;\n  uint uVar21;\n  code *******pppppppcVar22;\n  undefined4 *puVar23;\n  code ****ppppcVar24;\n  code ****ppppcVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code *******unaff_s0;\n  uint *puVar28;\n  undefined *unaff_s1;\n  int iVar29;\n  code *******unaff_s2;\n  code *******unaff_s3;\n  code *****pppppcVar30;\n  int iVar31;\n  code *******unaff_s4;\n  code *******pppppppcVar32;\n  code *******unaff_s5;\n  int *piVar33;\n  int iVar34;\n  code *****unaff_s7;\n  float *pfVar35;\n  undefined *puVar36;\n  int iVar37;\n  undefined4 uVar38;\n  float fVar39;\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  byte bStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  int iStack_164;\n  uint *puStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  int iStack_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  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0015ca30;\n  puVar36 = PTR_s_LE_FTS4_0015c5f4;\n  pppppcVar12 = param_1[5];\n  local_2c = *(int *)PTR___stack_chk_guard_0015ca30;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar18 = param_1;\n    pppppppcVar19 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }\n  }\nLAB_00083534:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  pcVar5 = FUN_000836fc;\n  puVar36 = PTR___stack_chk_fail_0015ca14;\n  (*(code *)PTR___stack_chk_fail_0015ca14)();\n  puStack_120 = puVar36 + 0xe0eb4;\n  puVar28 = *(uint **)(puVar36 + 0xd9334);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*puVar28;\n  pppppppcVar9 = param_3;\n  pppppppcVar32 = 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 = pcVar5;\n  if (pppppppcVar19 == (code *******)0x0) {\nLAB_00083750:\n    iVar7 = 0;\n    ppppppcVar18 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*puVar28) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(puStack_120 + -0x7b9c);\n  uVar38 = 0x84008;\n  ppppppcVar17 = ppppppcStack_94;\n  (*pcVar5)();\n  uVar21 = 0;\n  puVar23 = (undefined4 *)&DAT_000001f8;\n  piVar33 = *(int **)(pcVar5 + 0xd8a28);\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 = *piVar33;\n  puStack_160 = puVar28;\n  pppppppcStack_15c = pppppppcVar19;\n  pppppppcStack_158 = unaff_s2;\n  iStack_154 = iVar7;\n  pppppppcStack_150 = pppppppcVar32;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar18;\n  uStack_13c = uVar38;\n  (**(code **)(pcVar5 + 0xd89b0))(auStack_360);\n  ppppppcVar18 = *pppppppcVar9;\n  bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18);\n  if (bStack_34c - 1 < 5) {\n    bStack_34b = bStack_34c << 1;\n    bStack_349 = (bStack_34c + 1) * '\b';\n    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);\n    ppppppcVar18 = pppppppcVar9[1];\n    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);\n    if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }\n  }\n  iVar7 = *piVar33;\n  if (iStack_164 == iVar7) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(pcVar5 + 0xd8a0c);\n  (*pcVar5)();\n  iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23);\n  if (iVar7 == 5) {\n    return 5;\n  }\n  iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18);\n  if (iVar7 == 0) {\n    return 0;\n  }\n  iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18);\n  iVar15 = *(int *)(iVar7 + 0xc);\n  *(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c);\n  if (iVar15 != 0) {\n    if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    (*pcVar6)(iVar7,iVar11,uVar38);\n  }\nLAB_000843cc:\n  iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);\n  iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23);\n  if (iVar11 == 0) {\n    return iVar15;\n  }\n                    \n                    \n  iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15);\n  return iVar7;\n}" { (declaration "code *pcVar1;" type_identifier (pointer_declarator "*pcVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "code *pcVar6;" type_identifier (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "code *****pppppcVar8;" type_identifier (pointer_declarator "*****pppppcVar8" * (pointer_declarator "****pppppcVar8" * (pointer_declarator "***pppppcVar8" * (pointer_declarator "**pppppcVar8" * (pointer_declarator "*pppppcVar8" * identifier))))) ;) (declaration "code *******pppppppcVar9;" type_identifier (pointer_declarator "*******pppppppcVar9" * (pointer_declarator "******pppppppcVar9" * (pointer_declarator "*****pppppppcVar9" * (pointer_declarator "****pppppppcVar9" * (pointer_declarator "***pppppppcVar9" * (pointer_declarator "**pppppppcVar9" * (pointer_declarator "*pppppppcVar9" * identifier))))))) ;) (declaration "code ****ppppcVar10;" type_identifier (pointer_declarator "****ppppcVar10" * (pointer_declarator "***ppppcVar10" * (pointer_declarator "**ppppcVar10" * (pointer_declarator "*ppppcVar10" * identifier)))) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "code *****pppppcVar12;" type_identifier (pointer_declarator "*****pppppcVar12" * (pointer_declarator "****pppppcVar12" * (pointer_declarator "***pppppcVar12" * (pointer_declarator "**pppppcVar12" * (pointer_declarator "*pppppcVar12" * identifier))))) ;) (declaration "code *******pppppppcVar13;" type_identifier (pointer_declarator "*******pppppppcVar13" * (pointer_declarator "******pppppppcVar13" * (pointer_declarator "*****pppppppcVar13" * (pointer_declarator "****pppppppcVar13" * (pointer_declarator "***pppppppcVar13" * (pointer_declarator "**pppppppcVar13" * (pointer_declarator "*pppppppcVar13" * identifier))))))) ;) (declaration "code ****ppppcVar14;" type_identifier (pointer_declarator "****ppppcVar14" * (pointer_declarator "***ppppcVar14" * (pointer_declarator "**ppppcVar14" * (pointer_declarator "*ppppcVar14" * identifier)))) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "code ****ppppcVar16;" type_identifier (pointer_declarator "****ppppcVar16" * (pointer_declarator "***ppppcVar16" * (pointer_declarator "**ppppcVar16" * (pointer_declarator "*ppppcVar16" * identifier)))) ;) (declaration "code ******ppppppcVar17;" type_identifier (pointer_declarator "******ppppppcVar17" * (pointer_declarator "*****ppppppcVar17" * (pointer_declarator "****ppppppcVar17" * (pointer_declarator "***ppppppcVar17" * (pointer_declarator "**ppppppcVar17" * (pointer_declarator "*ppppppcVar17" * identifier)))))) ;) (declaration "code ******ppppppcVar18;" type_identifier (pointer_declarator "******ppppppcVar18" * (pointer_declarator "*****ppppppcVar18" * (pointer_declarator "****ppppppcVar18" * (pointer_declarator "***ppppppcVar18" * (pointer_declarator "**ppppppcVar18" * (pointer_declarator "*ppppppcVar18" * identifier)))))) ;) (declaration "code *******pppppppcVar19;" type_identifier (pointer_declarator "*******pppppppcVar19" * (pointer_declarator "******pppppppcVar19" * (pointer_declarator "*****pppppppcVar19" * (pointer_declarator "****pppppppcVar19" * (pointer_declarator "***pppppppcVar19" * (pointer_declarator "**pppppppcVar19" * (pointer_declarator "*pppppppcVar19" * identifier))))))) ;) (declaration "code ****ppppcVar20;" type_identifier (pointer_declarator "****ppppcVar20" * (pointer_declarator "***ppppcVar20" * (pointer_declarator "**ppppcVar20" * (pointer_declarator "*ppppcVar20" * identifier)))) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "code *******pppppppcVar22;" type_identifier (pointer_declarator "*******pppppppcVar22" * (pointer_declarator "******pppppppcVar22" * (pointer_declarator "*****pppppppcVar22" * (pointer_declarator "****pppppppcVar22" * (pointer_declarator "***pppppppcVar22" * (pointer_declarator "**pppppppcVar22" * (pointer_declarator "*pppppppcVar22" * identifier))))))) ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "code ****ppppcVar24;" type_identifier (pointer_declarator "****ppppcVar24" * (pointer_declarator "***ppppcVar24" * (pointer_declarator "**ppppcVar24" * (pointer_declarator "*ppppcVar24" * identifier)))) ;) (declaration "code ****ppppcVar25;" type_identifier (pointer_declarator "****ppppcVar25" * (pointer_declarator "***ppppcVar25" * (pointer_declarator "**ppppcVar25" * (pointer_declarator "*ppppcVar25" * 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 *******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 "uint *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "undefined *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int iVar29;" primitive_type 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 "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 *****pppppcVar30;" type_identifier (pointer_declarator "*****pppppcVar30" * (pointer_declarator "****pppppcVar30" * (pointer_declarator "***pppppcVar30" * (pointer_declarator "**pppppcVar30" * (pointer_declarator "*pppppcVar30" * identifier))))) ;) (declaration "int iVar31;" primitive_type 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 *******pppppppcVar32;" type_identifier (pointer_declarator "*******pppppppcVar32" * (pointer_declarator "******pppppppcVar32" * (pointer_declarator "*****pppppppcVar32" * (pointer_declarator "****pppppppcVar32" * (pointer_declarator "***pppppppcVar32" * (pointer_declarator "**pppppppcVar32" * (pointer_declarator "*pppppppcVar32" * 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 *piVar33;" primitive_type (pointer_declarator "*piVar33" * identifier) ;) (declaration "int iVar34;" primitive_type 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 *pfVar35;" primitive_type (pointer_declarator "*pfVar35" * identifier) ;) (declaration "undefined *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "int iVar37;" primitive_type identifier ;) (declaration "undefined4 uVar38;" type_identifier identifier ;) (declaration "float fVar39;" 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 "byte bStack_34c;" type_identifier identifier ;) (declaration "byte bStack_34b;" type_identifier identifier ;) (declaration "byte bStack_349;" type_identifier identifier ;) (declaration "int iStack_164;" primitive_type identifier ;) (declaration "uint *puStack_160;" type_identifier (pointer_declarator "*puStack_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 "int iStack_154;" primitive_type 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 "int local_2c;" primitive_type identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_0015ca30;" (assignment_expression "puVar4 = PTR___stack_chk_guard_0015ca30" identifier = identifier) ;) (expression_statement "puVar36 = PTR_s_LE_FTS4_0015c5f4;" (assignment_expression "puVar36 = PTR_s_LE_FTS4_0015c5f4" identifier = identifier) ;) (expression_statement "pppppcVar12 = param_1[5];" (assignment_expression "pppppcVar12 = param_1[5]" identifier = (subscript_expression "param_1[5]" identifier [ number_literal ])) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0015ca30;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0015ca30" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0015ca30" * (cast_expression "(int *)PTR___stack_chk_guard_0015ca30" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar18 = param_1;\n    pppppppcVar19 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\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    ppppppcVar18 = param_1;\n    pppppppcVar19 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }" { (expression_statement "ppppppcVar18 = param_1;" (assignment_expression "ppppppcVar18 = param_1" identifier = identifier) ;) (expression_statement "pppppppcVar19 = param_2;" (assignment_expression "pppppppcVar19 = 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_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\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_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }" { (labeled_statement "LAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }" statement_identifier : (if_statement "if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\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_LE_FTS4_0015c5f4 + -0x7894);\n      }" { (expression_statement "param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);" (assignment_expression "param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894)" identifier = (cast_expression "(code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894)" ( (type_descriptor "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_LE_FTS4_0015c5f4 + -0x7894)" ( (binary_expression "PTR_s_LE_FTS4_0015c5f4 + -0x7894" identifier + number_literal) )))) ;) }) (else_clause "else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }" else (compound_statement "{\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }" { (expression_statement "param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);" (assignment_expression "param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0)" identifier = (cast_expression "(code *******)(PTR_LAB_0015c5e8 + 0x79d0)" ( (type_descriptor "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_0015c5e8 + 0x79d0)" ( (binary_expression "PTR_LAB_0015c5e8 + 0x79d0" identifier + number_literal) )))) ;) })))) (expression_statement "pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);" (assignment_expression "pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c)" identifier = (cast_expression "(code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c)" ( (type_descriptor "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_LE_FTS4_0015c5f4 + -0x783c)" ( (binary_expression "PTR_s_LE_FTS4_0015c5f4 + -0x783c" identifier + number_literal) )))) ;) (expression_statement "ppppppcVar18 = param_1;" (assignment_expression "ppppppcVar18 = param_1" identifier = identifier) ;) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" identifier = identifier) ;) (expression_statement "FUN_00083088();" (call_expression "FUN_00083088()" 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_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }\n  }" else (compound_statement "{\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }\n  }" { (expression_statement "unaff_s1 = PTR_LAB_0015c718 + 0x31a0;" (assignment_expression "unaff_s1 = PTR_LAB_0015c718 + 0x31a0" identifier = (binary_expression "PTR_LAB_0015c718 + 0x31a0" identifier + number_literal)) ;) (expression_statement "unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);" (assignment_expression "unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248)" identifier = (cast_expression "(code *******)(PTR_LAB_0015c718 + 0x3248)" ( (type_descriptor "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_0015c718 + 0x3248)" ( (binary_expression "PTR_LAB_0015c718 + 0x3248" identifier + number_literal) )))) ;) (expression_statement "pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);" (assignment_expression "pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c)" identifier = (cast_expression "(code *)(PTR_LAB_0015c66c + -0x138c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015c66c + -0x138c)" ( (binary_expression "PTR_LAB_0015c66c + -0x138c" identifier + number_literal) )))) ;) (expression_statement "pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);" (assignment_expression "pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088)" identifier = (cast_expression "(code *)(PTR_LAB_0015c718 + 0x3088)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015c718 + 0x3088)" ( (binary_expression "PTR_LAB_0015c718 + 0x3088" identifier + number_literal) )))) ;) (expression_statement "unaff_s0 = param_3;" (assignment_expression "unaff_s0 = param_3" identifier = identifier) ;) (expression_statement "pppppppcVar9 = param_4;" (assignment_expression "pppppppcVar9 = param_4" identifier = identifier) ;) (expression_statement "unaff_s3 = unaff_s4;" (assignment_expression "unaff_s3 = unaff_s4" identifier = identifier) ;) (while_statement "while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }" while (parenthesized_expression "(ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0)" ( (comma_expression "ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0" (assignment_expression "ppppppcVar18 = param_1" identifier = identifier) , (comma_expression "pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0" (assignment_expression "pppppppcVar19 = unaff_s0" identifier = identifier) , (comma_expression "iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0" (assignment_expression "iVar7 = FUN_000831a0()" identifier = (call_expression "FUN_000831a0()" identifier (argument_list "()" ( )))) , (comma_expression "pppppppcStack_80 = unaff_s3, iVar7 == 0" (assignment_expression "pppppppcStack_80 = unaff_s3" identifier = identifier) , (binary_expression "iVar7 == 0" identifier == number_literal))))) )) (compound_statement "{\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\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)pppppppcVar9 + -1);" (assignment_expression "unaff_s3 = (code *******)((int)pppppppcVar9 + -1)" identifier = (cast_expression "(code *******)((int)pppppppcVar9 + -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)pppppppcVar9 + -1)" ( (binary_expression "(int)pppppppcVar9 + -1" (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);" (assignment_expression "iVar7 = (*(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 (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }" { (expression_statement "pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);" (assignment_expression "pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c)" identifier = (cast_expression "(code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c)" ( (type_descriptor "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_LE_FTS4_0015c5f4 + -0x787c)" ( (binary_expression "PTR_s_LE_FTS4_0015c5f4 + -0x787c" identifier + number_literal) )))) ;) (expression_statement "ppppppcVar18 = param_1;" (assignment_expression "ppppppcVar18 = param_1" identifier = identifier) ;) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" identifier = identifier) ;) (expression_statement "FUN_00083088();" (call_expression "FUN_00083088()" identifier (argument_list "()" ( ))) ;) (if_statement "if (unaff_s3 == (code *******)0x0) goto LAB_00083534;" 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_00083534;" goto statement_identifier ;)) (expression_statement "pppppcVar8 = param_1[5];" (assignment_expression "pppppcVar8 = 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_00083658;" goto statement_identifier ;) })) (expression_statement "pppppppcVar19 = (code *******)*param_1;" (assignment_expression "pppppppcVar19 = (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 "pcVar1 = (code *)((int)pppppppcVar19 + 0x11);" (assignment_expression "pcVar1 = (code *)((int)pppppppcVar19 + 0x11)" identifier = (cast_expression "(code *)((int)pppppppcVar19 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar19 + 0x11)" ( (binary_expression "(int)pppppppcVar19 + 0x11" (cast_expression "(int)pppppppcVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\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        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }" { (expression_statement "pppppppcVar19 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar19 = (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 "pppppppcVar32 = pppppppcVar19;" (assignment_expression "pppppppcVar32 = pppppppcVar19" identifier = identifier) ;) (expression_statement "pppppppcVar9 = unaff_s3;" (assignment_expression "pppppppcVar9 = unaff_s3" identifier = identifier) ;) (if_statement "if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }" if (parenthesized_expression "((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0))" ( (binary_expression "(*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)" (parenthesized_expression "(*pcVar1 != (code)0x0)" ( (binary_expression "*pcVar1 != (code)0x0" (pointer_expression "*pcVar1" * 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_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }" { (expression_statement "FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);" (call_expression "FUN_00083248(param_1,pppppppcVar19,4,unaff_s0)" identifier (argument_list "(param_1,pppppppcVar19,4,unaff_s0)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "pppppppcVar32 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar32 = (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_00083488;" goto statement_identifier ;) })) (labeled_statement "LAB_00083518:\n        ppppppcVar18 = local_30;" statement_identifier : (expression_statement "ppppppcVar18 = local_30;" (assignment_expression "ppppppcVar18 = local_30" identifier = identifier) ;)) (expression_statement "(*pcVar5)();" (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s0 = pppppppcVar32;" (assignment_expression "unaff_s0 = pppppppcVar32" identifier = identifier) ;) }) (else_clause "else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }" else (compound_statement "{\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\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 (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }" if (parenthesized_expression "(*pcVar1 != (code)0x0)" ( (binary_expression "*pcVar1 != (code)0x0" (pointer_expression "*pcVar1" * identifier) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }" { (expression_statement "param_3 = (code *******)&SUB_00000002;" (assignment_expression "param_3 = (code *******)&SUB_00000002" identifier = (cast_expression "(code *******)&SUB_00000002" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "FUN_00083248(param_1,unaff_s0,2,0);" (call_expression "FUN_00083248(param_1,unaff_s0,2,0)" identifier (argument_list "(param_1,unaff_s0,2,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "pppppppcVar19 = (code *******)*param_1;" (assignment_expression "pppppppcVar19 = (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)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" if (parenthesized_expression "((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2)" ( (binary_expression "(code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2" (cast_expression "(code *******)(((uint)pppppppcVar19[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)pppppppcVar19[9] >> 2) - 2)" ( (binary_expression "((uint)pppppppcVar19[9] >> 2) - 2" (parenthesized_expression "((uint)pppppppcVar19[9] >> 2)" ( (binary_expression "(uint)pppppppcVar19[9] >> 2" (cast_expression "(uint)pppppppcVar19[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pppppppcVar19[9]" identifier [ number_literal ])) >> number_literal) )) - number_literal) ))) < identifier) )) (compound_statement "{\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }" { (expression_statement "pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);" (assignment_expression "pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2)" identifier = (cast_expression "(code *******)((int)pppppppcVar9 + -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)pppppppcVar9 + -2)" ( (binary_expression "(int)pppppppcVar9 + -2" (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppppcVar19 = (code *******)(puVar36 + -0x7864);" (assignment_expression "pppppppcVar19 = (code *******)(puVar36 + -0x7864)" identifier = (cast_expression "(code *******)(puVar36 + -0x7864)" ( (type_descriptor "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 "(puVar36 + -0x7864)" ( (binary_expression "puVar36 + -0x7864" identifier + number_literal) )))) ;) (expression_statement "(*pcVar6)(param_1);" (call_expression "(*pcVar6)(param_1)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pppppppcVar32 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar32 = (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            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" else (compound_statement "{\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" { (if_statement "if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (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            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }" { (expression_statement "pppppcVar30 = unaff_s7 + 2;" (assignment_expression "pppppcVar30 = unaff_s7 + 2" identifier = (binary_expression "unaff_s7 + 2" identifier + number_literal)) ;) (expression_statement "pppppcVar8 = pppppcVar30 + (int)unaff_s2;" (assignment_expression "pppppcVar8 = pppppcVar30 + (int)unaff_s2" identifier = (binary_expression "pppppcVar30 + (int)unaff_s2" identifier + (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (while_statement "while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }" { (expression_statement "pppppppcVar9 = (code *******)*pppppcVar30;" (assignment_expression "pppppppcVar9 = (code *******)*pppppcVar30" identifier = (cast_expression "(code *******)*pppppcVar30" ( (type_descriptor "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 "*pppppcVar30" * identifier))) ;) (if_statement "if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }" if (parenthesized_expression "(*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar19 + 0x11)" * (cast_expression "(code *)((int)pppppppcVar19 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar19 + 0x11)" ( (binary_expression "(int)pppppppcVar19 + 0x11" (cast_expression "(int)pppppppcVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }" { (expression_statement "FUN_000831a0(param_1);" (call_expression "FUN_000831a0(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pppppppcVar19 = pppppppcVar9;" (assignment_expression "pppppppcVar19 = pppppppcVar9" identifier = identifier) ;) }) (else_clause "else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }" else (compound_statement "{\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }" { (expression_statement "param_3 = (code *******)&SUB_00000002;" (assignment_expression "param_3 = (code *******)&SUB_00000002" identifier = (cast_expression "(code *******)&SUB_00000002" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "FUN_00083248(param_1,pppppppcVar9,2,0);" (call_expression "FUN_00083248(param_1,pppppppcVar9,2,0)" identifier (argument_list "(param_1,pppppppcVar9,2,0)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_000831a0(param_1);" (call_expression "FUN_000831a0(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "pppppppcVar19 = pppppppcVar9;" (assignment_expression "pppppppcVar19 = pppppppcVar9" identifier = identifier) ;) }))) (if_statement "if (pppppcVar30 + 1 == pppppcVar8) break;" if (parenthesized_expression "(pppppcVar30 + 1 == pppppcVar8)" ( (binary_expression "pppppcVar30 + 1 == pppppcVar8" (binary_expression "pppppcVar30 + 1" identifier + number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "pppppcVar30 = pppppcVar30 + 1;" (assignment_expression "pppppcVar30 = pppppcVar30 + 1" identifier = (binary_expression "pppppcVar30 + 1" identifier + number_literal)) ;) (expression_statement "pppppppcVar19 = (code *******)*param_1;" (assignment_expression "pppppppcVar19 = (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 "pppppppcVar32 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar32 = (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 "pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);" (assignment_expression "pppppppcVar9 = (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_00083488:\n        unaff_s0 = pppppppcVar32;" statement_identifier : (expression_statement "unaff_s0 = pppppppcVar32;" (assignment_expression "unaff_s0 = pppppppcVar32" identifier = identifier) ;)) (expression_statement "ppppppcVar18 = local_30;" (assignment_expression "ppppppcVar18 = local_30" identifier = identifier) ;) (if_statement "if (local_30 != (code ******)0x0) goto LAB_00083518;" 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_00083518;" 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 = pppppppcVar9;" (assignment_expression "unaff_s3 = pppppppcVar9" identifier = identifier) ;) (if_statement "if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }" if (parenthesized_expression "(pppppppcVar9 != (code *******)0x0)" ( (binary_expression "pppppppcVar9 != (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      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }" { (expression_statement "pppppcVar8 = param_1[5];" (assignment_expression "pppppcVar8 = 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_00083658:\n      pppppppcStack_80 = unaff_s4;" statement_identifier : (expression_statement "pppppppcStack_80 = unaff_s4;" (assignment_expression "pppppppcStack_80 = unaff_s4" identifier = identifier) ;)) (if_statement "if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;" if (parenthesized_expression "(pppppcVar8 == pppppcVar12)" ( (binary_expression "pppppcVar8 == pppppcVar12" identifier == identifier) )) (goto_statement "goto LAB_0008366c;" goto statement_identifier ;)) })) }))) (labeled_statement "LAB_00083534:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar4)" ( (binary_expression "local_2c == *(int *)puVar4" identifier == (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return *(int *)puVar4;\n  }" { (return_statement "return *(int *)puVar4;" return (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "pcVar5 = FUN_000836fc;" (assignment_expression "pcVar5 = FUN_000836fc" identifier = identifier) ;) (expression_statement "puVar36 = PTR___stack_chk_fail_0015ca14;" (assignment_expression "puVar36 = PTR___stack_chk_fail_0015ca14" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ca14)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ca14)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ca14)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ca14" * (cast_expression "(code *)PTR___stack_chk_fail_0015ca14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_120 = puVar36 + 0xe0eb4;" (assignment_expression "puStack_120 = puVar36 + 0xe0eb4" identifier = (binary_expression "puVar36 + 0xe0eb4" identifier + number_literal)) ;) (expression_statement "puVar28 = *(uint **)(puVar36 + 0xd9334);" (assignment_expression "puVar28 = *(uint **)(puVar36 + 0xd9334)" identifier = (pointer_expression "*(uint **)(puVar36 + 0xd9334)" * (cast_expression "(uint **)(puVar36 + 0xd9334)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar36 + 0xd9334)" ( (binary_expression "puVar36 + 0xd9334" 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 ******)*puVar28;" (assignment_expression "ppppppcStack_94 = (code ******)*puVar28" identifier = (cast_expression "(code ******)*puVar28" ( (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 "*puVar28" * identifier))) ;) (expression_statement "pppppppcVar9 = param_3;" (assignment_expression "pppppppcVar9 = param_3" identifier = identifier) ;) (expression_statement "pppppppcVar32 = pppppppcStack_80;" (assignment_expression "pppppppcVar32 = 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 = pcVar5;" (assignment_expression "pcStack_6c = pcVar5" identifier = identifier) ;) (if_statement "if (pppppppcVar19 == (code *******)0x0) {\nLAB_00083750:\n    iVar7 = 0;\n    ppppppcVar18 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }" if (parenthesized_expression "(pppppppcVar19 == (code *******)0x0)" ( (binary_expression "pppppppcVar19 == (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_00083750:\n    iVar7 = 0;\n    ppppppcVar18 = param_1;\n  }" { (labeled_statement "LAB_00083750:\n    iVar7 = 0;" statement_identifier : (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;)) (expression_statement "ppppppcVar18 = param_1;" (assignment_expression "ppppppcVar18 = param_1" identifier = identifier) ;) }) (else_clause "else {\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }" else (compound_statement "{\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }" { (expression_statement "pppppcStack_114 = ppppppcVar18[7];" (assignment_expression "pppppcStack_114 = ppppppcVar18[7]" identifier = (subscript_expression "ppppppcVar18[7]" identifier [ number_literal ])) ;) (expression_statement "pppppppcVar32 = (code *******)*ppppppcVar18;" (assignment_expression "pppppppcVar32 = (code *******)*ppppppcVar18" identifier = (cast_expression "(code *******)*ppppppcVar18" ( (type_descriptor "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 "*ppppppcVar18" * identifier))) ;) (expression_statement "pppppcStack_110 = ppppppcVar18[8];" (assignment_expression "pppppcStack_110 = ppppppcVar18[8]" identifier = (subscript_expression "ppppppcVar18[8]" identifier [ number_literal ])) ;) (expression_statement "pppppcStack_10c = ppppppcVar18[9];" (assignment_expression "pppppcStack_10c = ppppppcVar18[9]" identifier = (subscript_expression "ppppppcVar18[9]" identifier [ number_literal ])) ;) (expression_statement "ppppppcStack_118 = pppppppcVar32[9];" (assignment_expression "ppppppcStack_118 = pppppppcVar32[9]" identifier = (subscript_expression "pppppppcVar32[9]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = FUN_000831a0();" (assignment_expression "iVar7 = FUN_000831a0()" identifier = (call_expression "FUN_000831a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "unaff_s5 = param_3;" (assignment_expression "unaff_s5 = param_3" identifier = identifier) ;) (expression_statement "param_1 = ppppppcVar18;" (assignment_expression "param_1 = ppppppcVar18" identifier = identifier) ;) (if_statement "if (iVar7 != 0) goto LAB_00083750;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00083750;" goto statement_identifier ;)) (expression_statement "iVar7 = *(int *)(puStack_120 + -0x7fbc);" (assignment_expression "iVar7 = *(int *)(puStack_120 + -0x7fbc)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(puStack_120 + -0x7f44);" (assignment_expression "iVar11 = *(int *)(puStack_120 + -0x7f44)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7f44)" * (cast_expression "(int *)(puStack_120 + -0x7f44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7f44)" ( (binary_expression "puStack_120 + -0x7f44" identifier + number_literal) ))))) ;) (expression_statement "ppppppcVar18[8] = (code *****)pppppppcVar19;" (assignment_expression "ppppppcVar18[8] = (code *****)pppppppcVar19" (subscript_expression "ppppppcVar18[8]" identifier [ number_literal ]) = (cast_expression "(code *****)pppppppcVar19" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);" (assignment_expression "ppppppcVar18[7] = (code *****)(iVar7 + -0x7820)" (subscript_expression "ppppppcVar18[7]" identifier [ number_literal ]) = (cast_expression "(code *****)(iVar7 + -0x7820)" ( (type_descriptor "code *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar7 + -0x7820)" ( (binary_expression "iVar7 + -0x7820" identifier + number_literal) )))) ;) (expression_statement "pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);" (assignment_expression "pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0)" identifier = (cast_expression "(code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&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 *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0)" (parenthesized_expression "(*(code *)(iVar11 + -0xe54))" ( (pointer_expression "*(code *)(iVar11 + -0xe54)" * (cast_expression "(code *)(iVar11 + -0xe54)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + -0xe54)" ( (binary_expression "iVar11 + -0xe54" identifier + number_literal) )))) )) (argument_list "(pppppppcVar32,pppppppcVar19,&pbStack_b4,0)" ( identifier , identifier , (pointer_expression "&pbStack_b4" & identifier) , number_literal ))))) ;) (if_statement "if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }" if (parenthesized_expression "(pppppppcVar9 == (code *******)0x0)" ( (binary_expression "pppppppcVar9 == (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_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\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_000695f8(pbStack_b4);" (assignment_expression "pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4)" identifier = (cast_expression "(code *******)FUN_000695f8(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_000695f8(pbStack_b4)" identifier (argument_list "(pbStack_b4)" ( identifier ))))) ;) (if_statement "if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\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        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }" { (expression_statement "iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;" (assignment_expression "iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec" identifier = (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x77ec" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pppppppcVar9 = pppppppcStack_dc;" (assignment_expression "pppppppcVar9 = pppppppcStack_dc" identifier = identifier) ;) (goto_statement "goto LAB_00083b74;" 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 "bVar2 = pbStack_b4[9];" (assignment_expression "bVar2 = pbStack_b4[9]" identifier = (subscript_expression "pbStack_b4[9]" identifier [ number_literal ])) ;) (expression_statement "ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);" (assignment_expression "ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4)" (subscript_expression "ppppppcVar18[7]" identifier [ number_literal ]) = (cast_expression "(code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4)" ( (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 + -0x7fbc) + -0x77c4)" ( (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x77c4" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);" (assignment_expression "pcStack_d4 = (code *)((int)param_2 + (uint)bVar2)" identifier = (cast_expression "(code *)((int)param_2 + (uint)bVar2)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + (uint)bVar2)" ( (binary_expression "(int)param_2 + (uint)bVar2" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) (expression_statement "iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;" (assignment_expression "iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4" identifier = (binary_expression "bVar2 + 0xc + (uint)pbStack_b4[8] * -4" (binary_expression "bVar2 + 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 "pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);" (assignment_expression "pppppppcVar9 = (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)pppppppcVar9 & 0xffff);" (assignment_expression "ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 0xffff)" identifier = (cast_expression "(code ****)((uint)pppppppcVar9 & 0xffff)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)pppppppcVar9 & 0xffff)" ( (binary_expression "(uint)pppppppcVar9 & 0xffff" (cast_expression "(uint)pppppppcVar9" ( (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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }" { (expression_statement "uVar38 = *(undefined4 *)(pcStack_d4 + 8);" (assignment_expression "uVar38 = *(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)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }" if (parenthesized_expression "(*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0)" ( (binary_expression "*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar32 + 0x11)" * (cast_expression "(code *)((int)pppppppcVar32 + 0x11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar32 + 0x11)" ( (binary_expression "(int)pppppppcVar32 + 0x11" (cast_expression "(int)pppppppcVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (cast_expression "(code)0x0" ( (type_descriptor "code" type_identifier) ) number_literal)) )) (compound_statement "{\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }" { (expression_statement "ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);" (assignment_expression "ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8)" (subscript_expression "ppppppcVar18[7]" identifier [ number_literal ]) = (cast_expression "(code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8)" ( (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 + -0x7fbc) + -0x77a8)" ( (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x77a8" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);" (call_expression "FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19)" identifier (argument_list "(ppppppcVar18,uVar38,5,pppppppcVar19)" ( identifier , identifier , number_literal , identifier ))) ;) })) (expression_statement "pppppppcVar9 = (code *******)&local_58;" (assignment_expression "pppppppcVar9 = (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_000836fc(ppppppcVar18,uVar38);" (assignment_expression "iStack_108 = FUN_000836fc(ppppppcVar18,uVar38)" identifier = (call_expression "FUN_000836fc(ppppppcVar18,uVar38)" identifier (argument_list "(ppppppcVar18,uVar38)" ( identifier , identifier )))) ;) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" else (compound_statement "{\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" { (expression_statement "unaff_s7 = ppppppcVar18[0x10];" (assignment_expression "unaff_s7 = ppppppcVar18[0x10]" identifier = (subscript_expression "ppppppcVar18[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 "pppppppcVar22 = pppppppcStack_d8;" (assignment_expression "pppppppcVar22 = 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) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" if (parenthesized_expression "((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0))" ( (binary_expression "(pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[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 "(ppppppcVar18[4] == (code *****)0x0)" ( (binary_expression "ppppppcVar18[4] == (code *****)0x0" (subscript_expression "ppppppcVar18[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        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }" { (expression_statement "iVar7 = iStack_108 + 1;" (assignment_expression "iVar7 = iStack_108 + 1" identifier = (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 "ppppppcVar18[7] = (code *****)0x0;" (assignment_expression "ppppppcVar18[7] = (code *****)0x0" (subscript_expression "ppppppcVar18[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_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }" statement_identifier : (if_statement "if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }" if (parenthesized_expression "(0 < (int)ppppppcVar18[4])" ( (binary_expression "0 < (int)ppppppcVar18[4]" number_literal < (cast_expression "(int)ppppppcVar18[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppcVar18[4]" identifier [ number_literal ]))) )) (compound_statement "{\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }" { (if_statement "if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\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 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }" { (expression_statement "unaff_s7 = ppppppcVar18[0x10];" (assignment_expression "unaff_s7 = ppppppcVar18[0x10]" identifier = (subscript_expression "ppppppcVar18[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 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\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 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }" { (expression_statement "unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);" (assignment_expression "unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" identifier = (cast_expression "(code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" ( (type_descriptor "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 + -0x7f44) + -0xb3c)" ( (binary_expression "*(int *)(puStack_120 + -0x7f44) + -0xb3c" (pointer_expression "*(int *)(puStack_120 + -0x7f44)" * (cast_expression "(int *)(puStack_120 + -0x7f44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7f44)" ( (binary_expression "puStack_120 + -0x7f44" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar11 = iStack_c4 + -2;" (assignment_expression "iVar11 = iStack_c4 + -2" identifier = (binary_expression "iStack_c4 + -2" identifier + number_literal)) ;) (expression_statement "pcVar5 = pcStack_e4;" (assignment_expression "pcVar5 = pcStack_e4" identifier = identifier) ;) (expression_statement "pppppppcStack_64 = pppppppcVar19;" (assignment_expression "pppppppcStack_64 = pppppppcVar19" identifier = identifier) ;) (do_statement "do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);" do (compound_statement "{\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              }" { (expression_statement "pcVar6 = pcVar5 + -2;" (assignment_expression "pcVar6 = pcVar5 + -2" identifier = (binary_expression "pcVar5 + -2" identifier + number_literal)) ;) (expression_statement "uVar21 = (uint)*(ushort *)pcVar5;" (assignment_expression "uVar21 = (uint)*(ushort *)pcVar5" identifier = (binary_expression "(uint)*(ushort *)pcVar5" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)pcVar5" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));" (assignment_expression "iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21))" identifier = (call_expression "(**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21))" (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 + uVar21))" ( identifier , (cast_expression "(code *)((int)param_2 + uVar21)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + uVar21)" ( (binary_expression "(int)param_2 + uVar21" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) )))) ;) (expression_statement "pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);" (assignment_expression "pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21)" identifier = (cast_expression "(code *******)(iVar15 + -1 + uVar21)" ( (type_descriptor "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 "(iVar15 + -1 + uVar21)" ( (binary_expression "iVar15 + -1 + uVar21" (binary_expression "iVar15 + -1" identifier + number_literal) + identifier) )))) ;) (expression_statement "(*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);" (call_expression "(*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 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)pppppppcVar32 | uVar21 << 0x10)" ( identifier , (binary_expression "(uint)pppppppcVar32 | uVar21 << 0x10" (cast_expression "(uint)pppppppcVar32" ( (type_descriptor "uint" type_identifier) ) identifier) | (binary_expression "uVar21 << 0x10" identifier << number_literal)) ))) ;) (expression_statement "pcVar5 = pcVar6;" (assignment_expression "pcVar5 = pcVar6" identifier = identifier) ;) (expression_statement "pppppppcVar19 = pppppppcStack_64;" (assignment_expression "pppppppcVar19 = pppppppcStack_64" identifier = identifier) ;) }) while (parenthesized_expression "((code *)((int)param_2 + iVar11) != pcVar6)" ( (binary_expression "(code *)((int)param_2 + iVar11) != pcVar6" (cast_expression "(code *)((int)param_2 + iVar11)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + iVar11)" ( (binary_expression "(int)param_2 + iVar11" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))) != identifier) )) ;) })) })) (expression_statement "uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);" (assignment_expression "uVar21 = (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 + -0x7f44);" (assignment_expression "unaff_s2 = *(code ********)(puStack_120 + -0x7f44)" identifier = (pointer_expression "*(code ********)(puStack_120 + -0x7f44)" * (cast_expression "(code ********)(puStack_120 + -0x7f44)" ( (type_descriptor "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 + -0x7f44)" ( (binary_expression "puStack_120 + -0x7f44" identifier + number_literal) ))))) ;) (if_statement "if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }" if (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) (compound_statement "{\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }" { (expression_statement "unaff_s2 = unaff_s2 + -0x2cf;" (assignment_expression "unaff_s2 = unaff_s2 + -0x2cf" identifier = (binary_expression "unaff_s2 + -0x2cf" identifier + number_literal)) ;) (expression_statement "pppppppcVar9 = unaff_s2;" (assignment_expression "pppppppcVar9 = unaff_s2" identifier = identifier) ;) (do_statement "do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);" do (compound_statement "{\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            }" { (expression_statement "pcVar5 = (code *)((int)param_2 + uVar21);" (assignment_expression "pcVar5 = (code *)((int)param_2 + uVar21)" identifier = (cast_expression "(code *)((int)param_2 + uVar21)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + uVar21)" ( (binary_expression "(int)param_2 + uVar21" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "(*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);" (call_expression "(*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10)" (parenthesized_expression "(*(code *)pppppppcVar9)" ( (pointer_expression "*(code *)pppppppcVar9" * (cast_expression "(code *)pppppppcVar9" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10)" ( identifier , (binary_expression "(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10" (binary_expression "(*(ushort *)(pcVar5 + 2) + uVar21) - 1" (parenthesized_expression "(*(ushort *)(pcVar5 + 2) + uVar21)" ( (binary_expression "*(ushort *)(pcVar5 + 2) + uVar21" (pointer_expression "*(ushort *)(pcVar5 + 2)" * (cast_expression "(ushort *)(pcVar5 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 2)" ( (binary_expression "pcVar5 + 2" identifier + number_literal) )))) + identifier) )) - number_literal) | (binary_expression "uVar21 << 0x10" identifier << number_literal)) ))) ;) (expression_statement "uVar21 = (uint)*(ushort *)pcVar5;" (assignment_expression "uVar21 = (uint)*(ushort *)pcVar5" identifier = (binary_expression "(uint)*(ushort *)pcVar5" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)pcVar5" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) while (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) ;) })) (expression_statement "ppppcVar20 = *unaff_s7;" (assignment_expression "ppppcVar20 = *unaff_s7" identifier = (pointer_expression "*unaff_s7" * identifier)) ;) (expression_statement "pppppppcVar22 = pppppppcStack_dc;" (assignment_expression "pppppppcVar22 = pppppppcStack_dc" identifier = identifier) ;) (expression_statement "ppppcVar26 = ppppcStack_c8;" (assignment_expression "ppppcVar26 = ppppcStack_c8" identifier = identifier) ;) (if_statement "if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }" if (parenthesized_expression "(ppppcVar20 == (code ****)0x0)" ( (binary_expression "ppppcVar20 == (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            pppppppcVar22 = (code *******)0x0;\n          }" { (expression_statement "pppppppcVar22 = (code *******)0x0;" (assignment_expression "pppppppcVar22 = (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              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }" else (compound_statement "{\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }" { (do_statement "do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);" do (compound_statement "{\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            }" { (expression_statement "ppppcVar25 = unaff_s7[1];" (assignment_expression "ppppcVar25 = unaff_s7[1]" identifier = (subscript_expression "unaff_s7[1]" identifier [ number_literal ])) ;) (expression_statement "unaff_s7[1] = unaff_s7[(int)ppppcVar20];" (assignment_expression "unaff_s7[1] = unaff_s7[(int)ppppcVar20]" (subscript_expression "unaff_s7[1]" identifier [ number_literal ]) = (subscript_expression "unaff_s7[(int)ppppcVar20]" identifier [ (cast_expression "(int)ppppcVar20" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;" (assignment_expression "unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff" (subscript_expression "unaff_s7[(int)ppppcVar20]" identifier [ (cast_expression "(int)ppppcVar20" ( (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 "ppppcVar20 = (code ****)((int)*unaff_s7 - 1);" (assignment_expression "ppppcVar20 = (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 = ppppcVar20;" (assignment_expression "*unaff_s7 = ppppcVar20" (pointer_expression "*unaff_s7" * identifier) = identifier) ;) (if_statement "if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }" if (parenthesized_expression "((code ****)0x1 < ppppcVar20)" ( (binary_expression "(code ****)0x1 < ppppcVar20" (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                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }" { (expression_statement "ppppcVar27 = unaff_s7[1];" (assignment_expression "ppppcVar27 = unaff_s7[1]" identifier = (subscript_expression "unaff_s7[1]" identifier [ number_literal ])) ;) (expression_statement "ppppcVar24 = (code ****)0x2;" (assignment_expression "ppppcVar24 = (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 "ppppcVar10 = (code ****)0x1;" (assignment_expression "ppppcVar10 = (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                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);" do (compound_statement "{\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                }" { (expression_statement "pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);" (assignment_expression "pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U)" identifier = (binary_expression "unaff_s7 + (int)((int)ppppcVar24 + 1U)" identifier + (cast_expression "(int)((int)ppppcVar24 + 1U)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)ppppcVar24 + 1U)" ( (binary_expression "(int)ppppcVar24 + 1U" (cast_expression "(int)ppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppppcVar14 = *pppppcVar12;" (assignment_expression "ppppcVar14 = *pppppcVar12" identifier = (pointer_expression "*pppppcVar12" * identifier)) ;) (expression_statement "ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);" (assignment_expression "ppppcVar16 = (code ****)((int)ppppcVar24 + 1U)" identifier = (cast_expression "(code ****)((int)ppppcVar24 + 1U)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppcVar24 + 1U)" ( (binary_expression "(int)ppppcVar24 + 1U" (cast_expression "(int)ppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }" if (parenthesized_expression "(unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14)" ( (binary_expression "unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14" (subscript_expression "unaff_s7[(int)ppppcVar10 * 2]" identifier [ (binary_expression "(int)ppppcVar10 * 2" (cast_expression "(int)ppppcVar10" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ]) <= identifier) )) (compound_statement "{\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }" { (expression_statement "pppppcVar12 = unaff_s7 + (int)ppppcVar24;" (assignment_expression "pppppcVar12 = unaff_s7 + (int)ppppcVar24" identifier = (binary_expression "unaff_s7 + (int)ppppcVar24" identifier + (cast_expression "(int)ppppcVar24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "ppppcVar14 = *pppppcVar12;" (assignment_expression "ppppcVar14 = *pppppcVar12" identifier = (pointer_expression "*pppppcVar12" * identifier)) ;) (expression_statement "ppppcVar16 = ppppcVar24;" (assignment_expression "ppppcVar16 = ppppcVar24" identifier = identifier) ;) })) (if_statement "if (ppppcVar27 < ppppcVar14) break;" if (parenthesized_expression "(ppppcVar27 < ppppcVar14)" ( (binary_expression "ppppcVar27 < ppppcVar14" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "unaff_s7[(int)ppppcVar10] = ppppcVar14;" (assignment_expression "unaff_s7[(int)ppppcVar10] = ppppcVar14" (subscript_expression "unaff_s7[(int)ppppcVar10]" identifier [ (cast_expression "(int)ppppcVar10" ( (type_descriptor "int" primitive_type) ) identifier) ]) = identifier) ;) (expression_statement "ppppcVar24 = (code ****)((int)ppppcVar16 << 1);" (assignment_expression "ppppcVar24 = (code ****)((int)ppppcVar16 << 1)" identifier = (cast_expression "(code ****)((int)ppppcVar16 << 1)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppcVar16 << 1)" ( (binary_expression "(int)ppppcVar16 << 1" (cast_expression "(int)ppppcVar16" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "*pppppcVar12 = ppppcVar27;" (assignment_expression "*pppppcVar12 = ppppcVar27" (pointer_expression "*pppppcVar12" * identifier) = identifier) ;) (expression_statement "ppppcVar20 = *unaff_s7;" (assignment_expression "ppppcVar20 = *unaff_s7" identifier = (pointer_expression "*unaff_s7" * identifier)) ;) (expression_statement "ppppcVar10 = ppppcVar16;" (assignment_expression "ppppcVar10 = ppppcVar16" identifier = identifier) ;) }) while (parenthesized_expression "(ppppcVar24 <= ppppcVar20)" ( (binary_expression "ppppcVar24 <= ppppcVar20" identifier <= identifier) )) ;) })) (expression_statement "pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);" (assignment_expression "pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10)" identifier = (cast_expression "(code *******)((uint)ppppcVar25 >> 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)ppppcVar25 >> 0x10)" ( (binary_expression "(uint)ppppcVar25 >> 0x10" (cast_expression "(uint)ppppcVar25" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);" (assignment_expression "unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff)" identifier = (cast_expression "(code *******)((uint)ppppcVar26 & 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)ppppcVar26 & 0xffff)" ( (binary_expression "(uint)ppppcVar26 & 0xffff" (cast_expression "(uint)ppppcVar26" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }" if (parenthesized_expression "(pppppppcVar9 <= unaff_s2)" ( (binary_expression "pppppppcVar9 <= unaff_s2" identifier <= identifier) )) (compound_statement "{\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }" { (expression_statement "pppppppcStack_dc = pppppppcVar22;" (assignment_expression "pppppppcStack_dc = pppppppcVar22" identifier = identifier) ;) (expression_statement "FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);" (call_expression "FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19)" identifier (argument_list "(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x7720" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (if_statement "if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;" 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_00083b8c;" goto statement_identifier ;)) (expression_statement "pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);" (assignment_expression "pppppppcVar9 = (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_00083e5c;" goto statement_identifier ;) })) (expression_statement "pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);" (assignment_expression "pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2)" identifier = (cast_expression "(code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(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)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2)" ( (binary_expression "(code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2" (binary_expression "(code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22" (cast_expression "(code *)((int)pppppppcVar9 + -1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppcVar9 + -1)" ( (binary_expression "(int)pppppppcVar9 + -1" (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) + (cast_expression "(int)pppppppcVar22" ( (type_descriptor "int" primitive_type) ) identifier)) + (unary_expression "-(int)unaff_s2" - (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "ppppcVar26 = ppppcVar25;" (assignment_expression "ppppcVar26 = ppppcVar25" identifier = identifier) ;) }) while (parenthesized_expression "(ppppcVar20 != (code ****)0x0)" ( (binary_expression "ppppcVar20 != (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 "ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);" (assignment_expression "ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff)" identifier = (cast_expression "(code ****)((uint)ppppcVar25 & 0xffff)" ( (type_descriptor "code ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((uint)ppppcVar25 & 0xffff)" ( (binary_expression "(uint)ppppcVar25 & 0xffff" (cast_expression "(uint)ppppcVar25" ( (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 "pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);" (assignment_expression "pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26)" identifier = (cast_expression "(code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26)" ( (type_descriptor "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)pppppppcVar22) + -(int)ppppcVar26)" ( (binary_expression "(code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26" (cast_expression "(code *)((int)unaff_s7 + (int)pppppppcVar22)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + (int)pppppppcVar22)" ( (binary_expression "(int)unaff_s7 + (int)pppppppcVar22" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar22" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + (unary_expression "-(int)ppppcVar26" - (cast_expression "(int)ppppcVar26" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (labeled_statement "LAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }" statement_identifier : (if_statement "if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }" if (parenthesized_expression "((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9)" ( (binary_expression "(code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9" (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 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }" { (expression_statement "pppppppcStack_128 = pppppppcVar19;" (assignment_expression "pppppppcStack_128 = pppppppcVar19" identifier = identifier) ;) (expression_statement "FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);" (call_expression "FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8)" identifier (argument_list "(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x76f8" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) )))) + number_literal) ))) ;) }))) }))) }) (else_clause "else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" else (compound_statement "{\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" { (expression_statement "pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);" (assignment_expression "pppppppcVar13 = (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 + -0x7fbc);" (assignment_expression "iStack_f4 = *(int *)(puStack_120 + -0x7fbc)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) ))))) ;) (expression_statement "pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);" (assignment_expression "pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088)" identifier = (cast_expression "(code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7e98) + 0x3088)" ( (binary_expression "*(int *)(puStack_120 + -0x7e98) + 0x3088" (pointer_expression "*(int *)(puStack_120 + -0x7e98)" * (cast_expression "(int *)(puStack_120 + -0x7e98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7e98)" ( (binary_expression "puStack_120 + -0x7e98" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_cc = *(int *)(puStack_120 + -0x7fbc);" (assignment_expression "iStack_cc = *(int *)(puStack_120 + -0x7fbc)" identifier = (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) ))))) ;) (expression_statement "pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);" (assignment_expression "pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" identifier = (cast_expression "(code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" ( (binary_expression "*(int *)(puStack_120 + -0x7f44) + -0xb3c" (pointer_expression "*(int *)(puStack_120 + -0x7f44)" * (cast_expression "(int *)(puStack_120 + -0x7f44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7f44)" ( (binary_expression "puStack_120 + -0x7f44" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);" (assignment_expression "pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc)" identifier = (cast_expression "(code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7e98) + 0x36fc)" ( (binary_expression "*(int *)(puStack_120 + -0x7e98) + 0x36fc" (pointer_expression "*(int *)(puStack_120 + -0x7e98)" * (cast_expression "(int *)(puStack_120 + -0x7e98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7e98)" ( (binary_expression "puStack_120 + -0x7e98" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar5 = pcStack_e4;" (assignment_expression "pcVar5 = pcStack_e4" identifier = identifier) ;) (expression_statement "pppppppcStack_f8 = pppppppcVar32;" (assignment_expression "pppppppcStack_f8 = pppppppcVar32" 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 = pppppppcVar19;" (assignment_expression "pppppppcStack_64 = pppppppcVar19" identifier = identifier) ;) (do_statement "do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));" do (compound_statement "{\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        }" { (expression_statement "ppppppcVar18[9] = (code *****)unaff_s2;" (assignment_expression "ppppppcVar18[9] = (code *****)unaff_s2" (subscript_expression "ppppppcVar18[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 "pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;" (assignment_expression "pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5" identifier = (binary_expression "(code *******)(uint)*(ushort *)pcVar5" (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 *)pcVar5" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }" if (parenthesized_expression "((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19))" ( (binary_expression "(pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)" (parenthesized_expression "(pppppppcVar19 < pppppppcVar22)" ( (binary_expression "pppppppcVar19 < pppppppcVar22" identifier < identifier) )) || (parenthesized_expression "(pppppppcVar13 < pppppppcVar19)" ( (binary_expression "pppppppcVar13 < pppppppcVar19" identifier < identifier) ))) )) (compound_statement "{\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }" { (expression_statement "pppppppcStack_128 = pppppppcVar13;" (assignment_expression "pppppppcStack_128 = pppppppcVar13" identifier = identifier) ;) (expression_statement "(*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);" (call_expression "(*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22)" ( identifier , (binary_expression "iStack_f4 + -0x778c" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iStack_fc = 0;" (assignment_expression "iStack_fc = 0" identifier = number_literal) ;) (expression_statement "pppppppcVar9 = pppppppcVar19;" (assignment_expression "pppppppcVar9 = pppppppcVar19" identifier = identifier) ;) }) (else_clause "else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }" else (compound_statement "{\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }" { (expression_statement "pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);" (assignment_expression "pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19)" identifier = (cast_expression "(code *)((int)param_2 + (int)pppppppcVar19)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + (int)pppppppcVar19)" ( (binary_expression "(int)param_2 + (int)pppppppcVar19" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar19" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppcVar9 = (code *******)&pppppppcStack_b0;" (assignment_expression "pppppppcVar9 = (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,pcVar6);" (call_expression "(**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6)" (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,pcVar6)" ( identifier , identifier ))) ;) (if_statement "if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }" if (parenthesized_expression "(ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e))" ( (binary_expression "ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)" identifier < (cast_expression "(code ******)((int)pppppppcVar19 + (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)pppppppcVar19 + (uint)uStack_9e)" ( (binary_expression "(int)pppppppcVar19 + (uint)uStack_9e" (cast_expression "(int)pppppppcVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)uStack_9e" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) )) (compound_statement "{\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }" { (expression_statement "(*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);" (call_expression "(*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x776c" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" 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                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }" else (compound_statement "{\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }" { (if_statement "if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\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                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }" { (if_statement "if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }" if (parenthesized_expression "(iStack_104 == 0)" ( (binary_expression "iStack_104 == 0" identifier == number_literal) )) (compound_statement "{\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (if_statement "if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = 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_00083eb0:\n                    bVar3 = false;\n                  }" { (labeled_statement "LAB_00083eb0:\n                    bVar3 = false;" statement_identifier : (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;)) })) }) (else_clause "else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }" else (compound_statement "{\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) (if_statement "if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = 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_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }" { (if_statement "if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;" if (parenthesized_expression "(pppppppcStack_b0 != local_58)" ( (binary_expression "pppppppcStack_b0 != local_58" identifier != identifier) )) (goto_statement "goto LAB_00083eb0;" goto statement_identifier ;)) (if_statement "if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }" if (parenthesized_expression "(ppppppcStack_ac <= ppppppcStack_54)" ( (binary_expression "ppppppcStack_ac <= ppppppcStack_54" identifier <= identifier) )) (compound_statement "{\n                      bVar3 = false;\n                    }" { (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) })) })) }))) (if_statement "if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }" { (expression_statement "(*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);" (call_expression "(*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754)" ( identifier , (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x7754" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" 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                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }" if (parenthesized_expression "(uStack_a0 < uStack_a4)" ( (binary_expression "uStack_a0 < uStack_a4" identifier < identifier) )) (compound_statement "{\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }" { (expression_statement "uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));" (assignment_expression "uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4))" identifier = (pointer_expression "*(undefined4 *)(pcVar6 + (uStack_9e - 4))" * (cast_expression "(undefined4 *)(pcVar6 + (uStack_9e - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + (uStack_9e - 4))" ( (binary_expression "pcVar6 + (uStack_9e - 4)" identifier + (parenthesized_expression "(uStack_9e - 4)" ( (binary_expression "uStack_9e - 4" identifier - number_literal) ))) ))))) ;) (if_statement "if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }" if (parenthesized_expression "(pppppppcVar13 == (code *******)0x0)" ( (binary_expression "pppppppcVar13 == (code *******)0x0" identifier == (cast_expression "(code *******)0x0" ( (type_descriptor "code *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n                  trap(7);\n                }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;" (assignment_expression "uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13" identifier = (binary_expression "(uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13" (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)pppppppcVar13" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = 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 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }" { (expression_statement "uStack_c0 = uVar38;" (assignment_expression "uStack_c0 = uVar38" identifier = identifier) ;) (expression_statement "uStack_bc = uVar21;" (assignment_expression "uStack_bc = uVar21" identifier = identifier) ;) (expression_statement "FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);" (call_expression "FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64)" identifier (argument_list "(ppppppcVar18,uVar38,3,pppppppcStack_64)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "uVar21 = uStack_bc;" (assignment_expression "uVar21 = uStack_bc" identifier = identifier) ;) (expression_statement "uVar38 = uStack_c0;" (assignment_expression "uVar38 = uStack_c0" identifier = identifier) ;) })) (expression_statement "FUN_00083390(ppppppcVar18,0,uVar38,uVar21);" (call_expression "FUN_00083390(ppppppcVar18,0,uVar38,uVar21)" identifier (argument_list "(ppppppcVar18,0,uVar38,uVar21)" ( identifier , number_literal , identifier , identifier ))) ;) })) (if_statement "if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 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                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }" { (expression_statement "uVar38 = *(undefined4 *)pcVar6;" (assignment_expression "uVar38 = *(undefined4 *)pcVar6" identifier = (pointer_expression "*(undefined4 *)pcVar6" * (cast_expression "(undefined4 *)pcVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,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_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }" { (expression_statement "FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);" (call_expression "FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64)" identifier (argument_list "(ppppppcVar18,uVar38,5,pppppppcStack_64)" ( identifier , identifier , number_literal , identifier ))) ;) })) (expression_statement "pppppppcVar9 = (code *******)&local_58;" (assignment_expression "pppppppcVar9 = (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 "iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);" (assignment_expression "iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38)" identifier = (call_expression "(*pcStack_e0)(ppppppcVar18,uVar38)" (parenthesized_expression "(*pcStack_e0)" ( (pointer_expression "*pcStack_e0" * identifier) )) (argument_list "(ppppppcVar18,uVar38)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }" if (parenthesized_expression "(iVar7 == iStack_108)" ( (binary_expression "iVar7 == iStack_108" identifier == identifier) )) (compound_statement "{\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }" { (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" identifier = number_literal) ;) (expression_statement "iStack_108 = iVar7;" (assignment_expression "iStack_108 = iVar7" identifier = identifier) ;) }) (else_clause "else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }" else (compound_statement "{\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }" { (expression_statement "iStack_108 = iVar7;" (assignment_expression "iStack_108 = iVar7" identifier = identifier) ;) (expression_statement "(*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);" (call_expression "(*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c)" (parenthesized_expression "(*pcStack_100)" ( (pointer_expression "*pcStack_100" * identifier) )) (argument_list "(ppppppcVar18,iStack_cc + -0x773c)" ( identifier , (binary_expression "iStack_cc + -0x773c" identifier + number_literal) ))) ;) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }" else (compound_statement "{\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }" { (expression_statement "pppppppcVar9 = (code *******)(uStack_9e - 1);" (assignment_expression "pppppppcVar9 = (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)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);" (call_expression "(*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10)" (parenthesized_expression "(*pcStack_d0)" ( (pointer_expression "*pcStack_d0" * identifier) )) (argument_list "(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10)" ( identifier , (binary_expression "(uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10" (call_expression "(uint)((int)pppppppcVar9 + (int)pppppppcVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pppppppcVar9 + (int)pppppppcVar19)" ( (binary_expression "(int)pppppppcVar9 + (int)pppppppcVar19" (cast_expression "(int)pppppppcVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppcVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ))) | (binary_expression "(int)pppppppcVar19 << 0x10" (cast_expression "(int)pppppppcVar19" ( (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                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0))" ( (binary_expression "(unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[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 "(pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0)" ( (comma_expression "pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0" (assignment_expression "pcVar5 = pcVar5 + -2" identifier = (binary_expression "pcVar5 + -2" identifier + number_literal)) , (binary_expression "ppppppcVar18[4] != (code *****)0x0" (subscript_expression "ppppppcVar18[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 "iVar7 = iStack_108 + 1;" (assignment_expression "iVar7 = iStack_108 + 1" identifier = (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 "ppppppcVar18[7] = (code *****)0x0;" (assignment_expression "ppppppcVar18[7] = (code *****)0x0" (subscript_expression "ppppppcVar18[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 "pppppppcVar19 = pppppppcStack_64;" (assignment_expression "pppppppcVar19 = pppppppcStack_64" identifier = identifier) ;) (expression_statement "pppppppcVar32 = pppppppcVar22;" (assignment_expression "pppppppcVar32 = pppppppcVar22" 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_00083c5c;" if (parenthesized_expression "(iStack_fc != 0)" ( (binary_expression "iStack_fc != 0" identifier != number_literal) )) (goto_statement "goto LAB_00083c5c;" 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      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }" else (compound_statement "{\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }" { (expression_statement "iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;" (assignment_expression "iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814" identifier = (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x7814" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" * (cast_expression "(int *)(puStack_120 + -0x7fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7fbc)" ( (binary_expression "puStack_120 + -0x7fbc" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);" statement_identifier : (expression_statement "FUN_00083088(ppppppcVar18,iVar7);" (call_expression "FUN_00083088(ppppppcVar18,iVar7)" identifier (argument_list "(ppppppcVar18,iVar7)" ( identifier , identifier ))) ;)) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" statement_identifier : (if_statement "if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(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 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" { (expression_statement "(*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));" (call_expression "(*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48))" (parenthesized_expression "(*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))" ( (pointer_expression "*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c)" * (cast_expression "(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_120 + -0x7f44) + -0x138c)" ( (binary_expression "*(int *)(puStack_120 + -0x7f44) + -0x138c" (pointer_expression "*(int *)(puStack_120 + -0x7f44)" * (cast_expression "(int *)(puStack_120 + -0x7f44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_120 + -0x7f44)" ( (binary_expression "puStack_120 + -0x7f44" 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 "ppppppcVar18[7] = pppppcStack_114;" (assignment_expression "ppppppcVar18[7] = pppppcStack_114" (subscript_expression "ppppppcVar18[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar18[8] = pppppcStack_110;" (assignment_expression "ppppppcVar18[8] = pppppcStack_110" (subscript_expression "ppppppcVar18[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppppppcVar18[9] = pppppcStack_10c;" (assignment_expression "ppppppcVar18[9] = pppppcStack_10c" (subscript_expression "ppppppcVar18[9]" identifier [ number_literal ]) = identifier) ;) }))) (if_statement "if (ppppppcStack_94 == (code ******)*puVar28) {\n    return iVar7;\n  }" if (parenthesized_expression "(ppppppcStack_94 == (code ******)*puVar28)" ( (binary_expression "ppppppcStack_94 == (code ******)*puVar28" identifier == (cast_expression "(code ******)*puVar28" ( (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 "*puVar28" * identifier))) )) (compound_statement "{\n    return iVar7;\n  }" { (return_statement "return iVar7;" return identifier ;) })) (expression_statement "pcVar5 = *(code **)(puStack_120 + -0x7b9c);" (assignment_expression "pcVar5 = *(code **)(puStack_120 + -0x7b9c)" identifier = (pointer_expression "*(code **)(puStack_120 + -0x7b9c)" * (cast_expression "(code **)(puStack_120 + -0x7b9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_120 + -0x7b9c)" ( (binary_expression "puStack_120 + -0x7b9c" identifier + number_literal) ))))) ;) (expression_statement "uVar38 = 0x84008;" (assignment_expression "uVar38 = 0x84008" identifier = number_literal) ;) (expression_statement "ppppppcVar17 = ppppppcStack_94;" (assignment_expression "ppppppcVar17 = ppppppcStack_94" identifier = identifier) ;) (expression_statement "(*pcVar5)();" (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "puVar23 = (undefined4 *)&DAT_000001f8;" (assignment_expression "puVar23 = (undefined4 *)&DAT_000001f8" identifier = (cast_expression "(undefined4 *)&DAT_000001f8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000001f8" & identifier))) ;) (expression_statement "piVar33 = *(int **)(pcVar5 + 0xd8a28);" (assignment_expression "piVar33 = *(int **)(pcVar5 + 0xd8a28)" identifier = (pointer_expression "*(int **)(pcVar5 + 0xd8a28)" * (cast_expression "(int **)(pcVar5 + 0xd8a28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8a28)" ( (binary_expression "pcVar5 + 0xd8a28" 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 = *piVar33;" (assignment_expression "iStack_164 = *piVar33" identifier = (pointer_expression "*piVar33" * identifier)) ;) (expression_statement "puStack_160 = puVar28;" (assignment_expression "puStack_160 = puVar28" identifier = identifier) ;) (expression_statement "pppppppcStack_15c = pppppppcVar19;" (assignment_expression "pppppppcStack_15c = pppppppcVar19" identifier = identifier) ;) (expression_statement "pppppppcStack_158 = unaff_s2;" (assignment_expression "pppppppcStack_158 = unaff_s2" identifier = identifier) ;) (expression_statement "iStack_154 = iVar7;" (assignment_expression "iStack_154 = iVar7" identifier = identifier) ;) (expression_statement "pppppppcStack_150 = pppppppcVar32;" (assignment_expression "pppppppcStack_150 = pppppppcVar32" 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 = ppppppcVar18;" (assignment_expression "ppppppcStack_140 = ppppppcVar18" identifier = identifier) ;) (expression_statement "uStack_13c = uVar38;" (assignment_expression "uStack_13c = uVar38" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar5 + 0xd89b0))(auStack_360);" (call_expression "(**(code **)(pcVar5 + 0xd89b0))(auStack_360)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd89b0))" ( (pointer_expression "**(code **)(pcVar5 + 0xd89b0)" * (pointer_expression "*(code **)(pcVar5 + 0xd89b0)" * (cast_expression "(code **)(pcVar5 + 0xd89b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd89b0)" ( (binary_expression "pcVar5 + 0xd89b0" identifier + number_literal) ))))) )) (argument_list "(auStack_360)" ( identifier ))) ;) (expression_statement "ppppppcVar18 = *pppppppcVar9;" (assignment_expression "ppppppcVar18 = *pppppppcVar9" identifier = (pointer_expression "*pppppppcVar9" * identifier)) ;) (expression_statement "bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18);" (assignment_expression "bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8730))(ppppppcVar18)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8730))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8730)" * (pointer_expression "*(code **)(pcVar5 + 0xd8730)" * (cast_expression "(code **)(pcVar5 + 0xd8730)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8730)" ( (binary_expression "pcVar5 + 0xd8730" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar18)" ( identifier )))) ;) (if_statement "if (bStack_34c - 1 < 5) {\n    bStack_34b = bStack_34c << 1;\n    bStack_349 = (bStack_34c + 1) * '\b';\n    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);\n    ppppppcVar18 = pppppppcVar9[1];\n    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);\n    if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }\n  }" if (parenthesized_expression "(bStack_34c - 1 < 5)" ( (binary_expression "bStack_34c - 1 < 5" (binary_expression "bStack_34c - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n    bStack_34b = bStack_34c << 1;\n    bStack_349 = (bStack_34c + 1) * '\b';\n    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);\n    ppppppcVar18 = pppppppcVar9[1];\n    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);\n    if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }\n  }" { (expression_statement "bStack_34b = bStack_34c << 1;" (assignment_expression "bStack_34b = bStack_34c << 1" identifier = (binary_expression "bStack_34c << 1" identifier << number_literal)) ;) (expression_statement "bStack_349 = (bStack_34c + 1) * '\b';" (assignment_expression "bStack_349 = (bStack_34c + 1) * '\b'" identifier = (binary_expression "(bStack_34c + 1) * '\b'" (parenthesized_expression "(bStack_34c + 1)" ( (binary_expression "bStack_34c + 1" identifier + number_literal) )) * (char_literal "'\b'" ' escape_sequence '))) ;) (expression_statement "iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);" (assignment_expression "iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1])" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1])" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8628))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8628)" * (pointer_expression "*(code **)(pcVar5 + 0xd8628)" * (cast_expression "(code **)(pcVar5 + 0xd8628)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8628)" ( (binary_expression "pcVar5 + 0xd8628" identifier + number_literal) ))))) )) (argument_list "(pppppppcVar9[1])" ( (subscript_expression "pppppppcVar9[1]" identifier [ number_literal ]) )))) ;) (expression_statement "ppppppcVar18 = pppppppcVar9[1];" (assignment_expression "ppppppcVar18 = pppppppcVar9[1]" identifier = (subscript_expression "pppppppcVar9[1]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);" (assignment_expression "iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd862c))(ppppppcVar18)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd862c))" ( (pointer_expression "**(code **)(pcVar5 + 0xd862c)" * (pointer_expression "*(code **)(pcVar5 + 0xd862c)" * (cast_expression "(code **)(pcVar5 + 0xd862c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd862c)" ( (binary_expression "pcVar5 + 0xd862c" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar18)" ( identifier )))) ;) (if_statement "if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }" if (parenthesized_expression "(3 < iVar7)" ( (binary_expression "3 < iVar7" number_literal < identifier) )) (compound_statement "{\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }" { (expression_statement "uVar21 = (uint)bStack_349;" (assignment_expression "uVar21 = (uint)bStack_349" identifier = (cast_expression "(uint)bStack_349" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);" (assignment_expression "ppppppcVar18 = (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) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }" if (parenthesized_expression "((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7)" ( (binary_expression "(int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7" (cast_expression "(int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21)" ( (binary_expression "(int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21" (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        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }" { (expression_statement "uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);" (assignment_expression "uVar38 = (**(code **)(pcVar5 + 0xd881c))(0)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd881c))(0)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd881c))" ( (pointer_expression "**(code **)(pcVar5 + 0xd881c)" * (pointer_expression "*(code **)(pcVar5 + 0xd881c)" * (cast_expression "(code **)(pcVar5 + 0xd881c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd881c)" ( (binary_expression "pcVar5 + 0xd881c" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal )))) ;) (if_statement "if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,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          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }" { (expression_statement "iVar7 = *(int *)(pcVar5 + 0xd85ec);" (assignment_expression "iVar7 = *(int *)(pcVar5 + 0xd85ec)" identifier = (pointer_expression "*(int *)(pcVar5 + 0xd85ec)" * (cast_expression "(int *)(pcVar5 + 0xd85ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0xd85ec)" ( (binary_expression "pcVar5 + 0xd85ec" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = *(int *)(pcVar5 + 0xd86bc);" (assignment_expression "iVar11 = *(int *)(pcVar5 + 0xd86bc)" identifier = (pointer_expression "*(int *)(pcVar5 + 0xd86bc)" * (cast_expression "(int *)(pcVar5 + 0xd86bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0xd86bc)" ( (binary_expression "pcVar5 + 0xd86bc" identifier + number_literal) ))))) ;) (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" identifier = number_literal) ;) (expression_statement "(*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);" (call_expression "(*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0)" (parenthesized_expression "(*(code *)(iVar11 + -0x1554))" ( (pointer_expression "*(code *)(iVar11 + -0x1554)" * (cast_expression "(code *)(iVar11 + -0x1554)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + -0x1554)" ( (binary_expression "iVar11 + -0x1554" identifier + number_literal) )))) )) (argument_list "(auStack_360,&uStack_3b0,0)" ( identifier , (pointer_expression "&uStack_3b0" & identifier) , number_literal ))) ;) (expression_statement "iVar15 = *(int *)(pcVar5 + 0xd85e0);" (assignment_expression "iVar15 = *(int *)(pcVar5 + 0xd85e0)" identifier = (pointer_expression "*(int *)(pcVar5 + 0xd85e0)" * (cast_expression "(int *)(pcVar5 + 0xd85e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0xd85e0)" ( (binary_expression "pcVar5 + 0xd85e0" identifier + number_literal) ))))) ;) (expression_statement "iVar34 = *(int *)(pcVar5 + 0xd85ec);" (assignment_expression "iVar34 = *(int *)(pcVar5 + 0xd85ec)" identifier = (pointer_expression "*(int *)(pcVar5 + 0xd85ec)" * (cast_expression "(int *)(pcVar5 + 0xd85ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0xd85ec)" ( (binary_expression "pcVar5 + 0xd85ec" identifier + number_literal) ))))) ;) (expression_statement "iVar29 = *(int *)(pcVar5 + 0xd85ec);" (assignment_expression "iVar29 = *(int *)(pcVar5 + 0xd85ec)" identifier = (pointer_expression "*(int *)(pcVar5 + 0xd85ec)" * (cast_expression "(int *)(pcVar5 + 0xd85ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0xd85ec)" ( (binary_expression "pcVar5 + 0xd85ec" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }" { (expression_statement "sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);" (call_expression "sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c)" identifier (argument_list "(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c)" ( identifier , (binary_expression "iVar34 + -0x76c4" identifier + number_literal) , identifier , identifier ))) ;) (if_statement "if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }" if (parenthesized_expression "(bStack_34b != 0)" ( (binary_expression "bStack_34b != 0" identifier != number_literal) )) (compound_statement "{\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }" { (expression_statement "pfVar35 = afStack_388;" (assignment_expression "pfVar35 = afStack_388" identifier = identifier) ;) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" identifier = number_literal) ;) (do_statement "do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);" do (compound_statement "{\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              }" { (expression_statement "fVar39 = *pfVar35;" (assignment_expression "fVar39 = *pfVar35" identifier = (pointer_expression "*pfVar35" * identifier)) ;) (expression_statement "iVar37 = iVar37 + 1;" (assignment_expression "iVar37 = iVar37 + 1" identifier = (binary_expression "iVar37 + 1" identifier + number_literal)) ;) (expression_statement "pfVar35 = pfVar35 + 1;" (assignment_expression "pfVar35 = pfVar35 + 1" identifier = (binary_expression "pfVar35 + 1" identifier + number_literal)) ;) (expression_statement "sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));" (call_expression "sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0))" identifier (argument_list "(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0))" ( identifier , (binary_expression "iVar29 + -0x76bc" identifier + number_literal) , (cast_expression "(int)((ulonglong)(double)fVar39 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)fVar39 >> 0x20)" ( (binary_expression "(ulonglong)(double)fVar39 >> 0x20" (cast_expression "(ulonglong)(double)fVar39" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)fVar39" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) , (call_expression "SUB84((double)fVar39,0)" identifier (argument_list "((double)fVar39,0)" ( (cast_expression "(double)fVar39" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) ))) ;) }) while (parenthesized_expression "(iVar37 < (int)(uint)bStack_34b)" ( (binary_expression "iVar37 < (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 "iVar31 = iVar31 + 1;" (assignment_expression "iVar31 = iVar31 + 1" identifier = (binary_expression "iVar31 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);" (call_expression "(**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd87bc))" ( (pointer_expression "**(code **)(pcVar5 + 0xd87bc)" * (pointer_expression "*(code **)(pcVar5 + 0xd87bc)" * (cast_expression "(code **)(pcVar5 + 0xd87bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd87bc)" ( (binary_expression "pcVar5 + 0xd87bc" identifier + number_literal) ))))) )) (argument_list "(uVar38,iVar7 + -0x739c,1)" ( identifier , (binary_expression "iVar7 + -0x739c" identifier + number_literal) , number_literal ))) ;) (if_statement "if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;" if (parenthesized_expression "((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31)" ( (binary_expression "(int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31" (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 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);" (call_expression "(*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390)" (parenthesized_expression "(*(code *)(iVar11 + -0x1554))" ( (pointer_expression "*(code *)(iVar11 + -0x1554)" * (cast_expression "(code *)(iVar11 + -0x1554)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + -0x1554)" ( (binary_expression "iVar11 + -0x1554" identifier + number_literal) )))) )) (argument_list "(auStack_360,&uStack_3b0,iVar31,&uStack_390)" ( identifier , (pointer_expression "&uStack_3b0" & identifier) , identifier , (pointer_expression "&uStack_390" & identifier) ))) ;) (expression_statement "(**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);" (call_expression "(**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd87bc))" ( (pointer_expression "**(code **)(pcVar5 + 0xd87bc)" * (pointer_expression "*(code **)(pcVar5 + 0xd87bc)" * (cast_expression "(code **)(pcVar5 + 0xd87bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd87bc)" ( (binary_expression "pcVar5 + 0xd87bc" identifier + number_literal) ))))) )) (argument_list "(uVar38,iVar15 + 0x5dc8,1)" ( identifier , (binary_expression "iVar15 + 0x5dc8" identifier + number_literal) , number_literal ))) ;) })) })) (expression_statement "uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);" (assignment_expression "uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8820))(uVar38)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8820))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8820)" * (pointer_expression "*(code **)(pcVar5 + 0xd8820)" * (cast_expression "(code **)(pcVar5 + 0xd8820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8820)" ( (binary_expression "pcVar5 + 0xd8820" identifier + number_literal) ))))) )) (argument_list "(uVar38)" ( identifier )))) ;) (expression_statement "uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);" (assignment_expression "uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8824))(uVar38)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8824))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8824)" * (pointer_expression "*(code **)(pcVar5 + 0xd8824)" * (cast_expression "(code **)(pcVar5 + 0xd8824)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8824)" ( (binary_expression "pcVar5 + 0xd8824" identifier + number_literal) ))))) )) (argument_list "(uVar38)" ( identifier )))) ;) (expression_statement "puVar23 = (undefined4 *)0xffffffff;" (assignment_expression "puVar23 = (undefined4 *)0xffffffff" identifier = (cast_expression "(undefined4 *)0xffffffff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));" (call_expression "(**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4))" (parenthesized_expression "(**(code **)(pcVar5 + 0xd866c))" ( (pointer_expression "**(code **)(pcVar5 + 0xd866c)" * (pointer_expression "*(code **)(pcVar5 + 0xd866c)" * (cast_expression "(code **)(pcVar5 + 0xd866c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd866c)" ( (binary_expression "pcVar5 + 0xd866c" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4))" ( identifier , identifier , number_literal , (pointer_expression "*(undefined4 *)(pcVar5 + 0xd85e4)" * (cast_expression "(undefined4 *)(pcVar5 + 0xd85e4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0xd85e4)" ( (binary_expression "pcVar5 + 0xd85e4" identifier + number_literal) )))) ))) ;) (expression_statement "(**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);" (call_expression "(**(code **)(pcVar5 + 0xd8778))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8778))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8778)" * (pointer_expression "*(code **)(pcVar5 + 0xd8778)" * (cast_expression "(code **)(pcVar5 + 0xd8778)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8778)" ( (binary_expression "pcVar5 + 0xd8778" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar17)" ( identifier ))) ;) (expression_statement "ppppppcVar18 = ppppppcVar17;" (assignment_expression "ppppppcVar18 = ppppppcVar17" identifier = identifier) ;) })) })) })) (expression_statement "iVar7 = *piVar33;" (assignment_expression "iVar7 = *piVar33" identifier = (pointer_expression "*piVar33" * identifier)) ;) (if_statement "if (iStack_164 == iVar7) {\n    return iVar7;\n  }" if (parenthesized_expression "(iStack_164 == iVar7)" ( (binary_expression "iStack_164 == iVar7" identifier == identifier) )) (compound_statement "{\n    return iVar7;\n  }" { (return_statement "return iVar7;" return identifier ;) })) (expression_statement "pcVar5 = *(code **)(pcVar5 + 0xd8a0c);" (assignment_expression "pcVar5 = *(code **)(pcVar5 + 0xd8a0c)" identifier = (pointer_expression "*(code **)(pcVar5 + 0xd8a0c)" * (cast_expression "(code **)(pcVar5 + 0xd8a0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8a0c)" ( (binary_expression "pcVar5 + 0xd8a0c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar5)();" (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23);" (assignment_expression "iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8304))(*puVar23)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8304))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8304)" * (pointer_expression "*(code **)(pcVar5 + 0xd8304)" * (cast_expression "(code **)(pcVar5 + 0xd8304)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8304)" ( (binary_expression "pcVar5 + 0xd8304" identifier + number_literal) ))))) )) (argument_list "(*puVar23)" ( (pointer_expression "*puVar23" * identifier) )))) ;) (if_statement "if (iVar7 == 5) {\n    return 5;\n  }" if (parenthesized_expression "(iVar7 == 5)" ( (binary_expression "iVar7 == 5" identifier == number_literal) )) (compound_statement "{\n    return 5;\n  }" { (return_statement "return 5;" return number_literal ;) })) (expression_statement "iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18);" (assignment_expression "iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8450))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8450)" * (pointer_expression "*(code **)(pcVar5 + 0xd8450)" * (cast_expression "(code **)(pcVar5 + 0xd8450)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8450)" ( (binary_expression "pcVar5 + 0xd8450" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar18,0x18)" ( identifier , number_literal )))) ;) (if_statement "if (iVar7 == 0) {\n    return 0;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18);" (assignment_expression "iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd83c8))" ( (pointer_expression "**(code **)(pcVar5 + 0xd83c8)" * (pointer_expression "*(code **)(pcVar5 + 0xd83c8)" * (cast_expression "(code **)(pcVar5 + 0xd83c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd83c8)" ( (binary_expression "pcVar5 + 0xd83c8" identifier + number_literal) ))))) )) (argument_list "(ppppppcVar18)" ( identifier )))) ;) (expression_statement "iVar15 = *(int *)(iVar7 + 0xc);" (assignment_expression "iVar15 = *(int *)(iVar7 + 0xc)" identifier = (pointer_expression "*(int *)(iVar7 + 0xc)" * (cast_expression "(int *)(iVar7 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c);" (assignment_expression "*(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c)" (pointer_expression "*(undefined4 *)(iVar7 + 0xc)" * (cast_expression "(undefined4 *)(iVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar11 + 0x6c)" * (cast_expression "(undefined4 *)(iVar11 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x6c)" ( (binary_expression "iVar11 + 0x6c" identifier + number_literal) ))))) ;) (if_statement "if (iVar15 != 0) {\n    if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    (*pcVar6)(iVar7,iVar11,uVar38);\n  }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n    if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    (*pcVar6)(iVar7,iVar11,uVar38);\n  }" { (if_statement "if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }" if (parenthesized_expression "(uVar21 == 2)" ( (binary_expression "uVar21 == 2" identifier == number_literal) )) (compound_statement "{\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }" { (expression_statement "iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);" (assignment_expression "iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1])" identifier = (call_expression "(**(code **)(pcVar5 + 0xd831c))(puVar23[1])" (parenthesized_expression "(**(code **)(pcVar5 + 0xd831c))" ( (pointer_expression "**(code **)(pcVar5 + 0xd831c)" * (pointer_expression "*(code **)(pcVar5 + 0xd831c)" * (cast_expression "(code **)(pcVar5 + 0xd831c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd831c)" ( (binary_expression "pcVar5 + 0xd831c" identifier + number_literal) ))))) )) (argument_list "(puVar23[1])" ( (subscript_expression "puVar23[1]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);" (assignment_expression "uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1])" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8318))(puVar23[1])" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8318))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8318)" * (pointer_expression "*(code **)(pcVar5 + 0xd8318)" * (cast_expression "(code **)(pcVar5 + 0xd8318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8318)" ( (binary_expression "pcVar5 + 0xd8318" identifier + number_literal) ))))) )) (argument_list "(puVar23[1])" ( (subscript_expression "puVar23[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (iVar11 == 0) goto LAB_000843cc;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000843cc;" goto statement_identifier ;)) (expression_statement "pcVar6 = *(code **)(pcVar5 + 0xd84a8);" (assignment_expression "pcVar6 = *(code **)(pcVar5 + 0xd84a8)" identifier = (pointer_expression "*(code **)(pcVar5 + 0xd84a8)" * (cast_expression "(code **)(pcVar5 + 0xd84a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd84a8)" ( (binary_expression "pcVar5 + 0xd84a8" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }" else (compound_statement "{\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }" { (expression_statement "uVar38 = 1;" (assignment_expression "uVar38 = 1" identifier = number_literal) ;) (expression_statement "iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;" (assignment_expression "iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc" identifier = (binary_expression "*(int *)(pcVar5 + 0xd82cc) + 0x60cc" (pointer_expression "*(int *)(pcVar5 + 0xd82cc)" * (cast_expression "(int *)(pcVar5 + 0xd82cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0xd82cc)" ( (binary_expression "pcVar5 + 0xd82cc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar6 = *(code **)(pcVar5 + 0xd84a8);" (assignment_expression "pcVar6 = *(code **)(pcVar5 + 0xd84a8)" identifier = (pointer_expression "*(code **)(pcVar5 + 0xd84a8)" * (cast_expression "(code **)(pcVar5 + 0xd84a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd84a8)" ( (binary_expression "pcVar5 + 0xd84a8" identifier + number_literal) ))))) ;) }))) (expression_statement "(*pcVar6)(iVar7,iVar11,uVar38);" (call_expression "(*pcVar6)(iVar7,iVar11,uVar38)" (parenthesized_expression "(*pcVar6)" ( (pointer_expression "*pcVar6" * identifier) )) (argument_list "(iVar7,iVar11,uVar38)" ( identifier , identifier , identifier ))) ;) })) (labeled_statement "LAB_000843cc:\n  iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);" statement_identifier : (expression_statement "iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);" (assignment_expression "iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd831c))(*puVar23)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd831c))" ( (pointer_expression "**(code **)(pcVar5 + 0xd831c)" * (pointer_expression "*(code **)(pcVar5 + 0xd831c)" * (cast_expression "(code **)(pcVar5 + 0xd831c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd831c)" ( (binary_expression "pcVar5 + 0xd831c" identifier + number_literal) ))))) )) (argument_list "(*puVar23)" ( (pointer_expression "*puVar23" * identifier) )))) ;)) (expression_statement "iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23);" (assignment_expression "iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd8318))(*puVar23)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8318))" ( (pointer_expression "**(code **)(pcVar5 + 0xd8318)" * (pointer_expression "*(code **)(pcVar5 + 0xd8318)" * (cast_expression "(code **)(pcVar5 + 0xd8318)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd8318)" ( (binary_expression "pcVar5 + 0xd8318" identifier + number_literal) ))))) )) (argument_list "(*puVar23)" ( (pointer_expression "*puVar23" * identifier) )))) ;) (if_statement "if (iVar11 == 0) {\n    return iVar15;\n  }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n    return iVar15;\n  }" { (return_statement "return iVar15;" return identifier ;) })) (expression_statement "iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15);" (assignment_expression "iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15)" identifier = (call_expression "(**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd84a8))" ( (pointer_expression "**(code **)(pcVar5 + 0xd84a8)" * (pointer_expression "*(code **)(pcVar5 + 0xd84a8)" * (cast_expression "(code **)(pcVar5 + 0xd84a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar5 + 0xd84a8)" ( (binary_expression "pcVar5 + 0xd84a8" identifier + number_literal) ))))) )) (argument_list "(iVar7,iVar11,iVar15)" ( identifier , identifier , identifier )))) ;) (return_statement "return iVar7;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 * (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 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 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 * IDENT) ;) (declaration TYPE 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 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 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 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 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 *)) ) 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 *)))))))) ) (pointer_expression & IDENT))) ;) (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 *)))))))) ) (pointer_expression & IDENT))) ;) (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 *)) ) IDENT))) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 = 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 = (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 = (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 = 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 = (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 (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * (char_literal ' escape_sequence '))) ;) (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , (pointer_expression & IDENT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT ))) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , 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 ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) })) (expression_statement (assignment_expression IDENT = (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 ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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 = (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 ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (return_statement return IDENT ;) })))
(function_definition "int FUN_00083390(code ******param_1,code *******param_2,code *******param_3,code *******param_4)\n\n{\n  code *pcVar1;\n  byte bVar2;\n  bool bVar3;\n  undefined *puVar4;\n  code *pcVar5;\n  code *pcVar6;\n  int iVar7;\n  code *****pppppcVar8;\n  code *******pppppppcVar9;\n  code ****ppppcVar10;\n  int iVar11;\n  code *****pppppcVar12;\n  code *******pppppppcVar13;\n  code ****ppppcVar14;\n  int iVar15;\n  code ****ppppcVar16;\n  code ******ppppppcVar17;\n  code ******ppppppcVar18;\n  code *******pppppppcVar19;\n  code ****ppppcVar20;\n  uint uVar21;\n  code *******pppppppcVar22;\n  undefined4 *puVar23;\n  code ****ppppcVar24;\n  code ****ppppcVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code *******unaff_s0;\n  uint *puVar28;\n  undefined *unaff_s1;\n  int iVar29;\n  code *******unaff_s2;\n  code *******unaff_s3;\n  code *****pppppcVar30;\n  int iVar31;\n  code *******unaff_s4;\n  code *******pppppppcVar32;\n  code *******unaff_s5;\n  int *piVar33;\n  int iVar34;\n  code *****unaff_s7;\n  float *pfVar35;\n  undefined *puVar36;\n  int iVar37;\n  undefined4 uVar38;\n  float fVar39;\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  byte bStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  int iStack_164;\n  uint *puStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  int iStack_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  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0015ca30;\n  puVar36 = PTR_s_LE_FTS4_0015c5f4;\n  pppppcVar12 = param_1[5];\n  local_2c = *(int *)PTR___stack_chk_guard_0015ca30;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar18 = param_1;\n    pppppppcVar19 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }\n  }\nLAB_00083534:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  pcVar5 = FUN_000836fc;\n  puVar36 = PTR___stack_chk_fail_0015ca14;\n  (*(code *)PTR___stack_chk_fail_0015ca14)();\n  puStack_120 = puVar36 + 0xe0eb4;\n  puVar28 = *(uint **)(puVar36 + 0xd9334);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*puVar28;\n  pppppppcVar9 = param_3;\n  pppppppcVar32 = 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 = pcVar5;\n  if (pppppppcVar19 == (code *******)0x0) {\nLAB_00083750:\n    iVar7 = 0;\n    ppppppcVar18 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*puVar28) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(puStack_120 + -0x7b9c);\n  uVar38 = 0x84008;\n  ppppppcVar17 = ppppppcStack_94;\n  (*pcVar5)();\n  uVar21 = 0;\n  puVar23 = (undefined4 *)&DAT_000001f8;\n  piVar33 = *(int **)(pcVar5 + 0xd8a28);\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 = *piVar33;\n  puStack_160 = puVar28;\n  pppppppcStack_15c = pppppppcVar19;\n  pppppppcStack_158 = unaff_s2;\n  iStack_154 = iVar7;\n  pppppppcStack_150 = pppppppcVar32;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar18;\n  uStack_13c = uVar38;\n  (**(code **)(pcVar5 + 0xd89b0))(auStack_360);\n  ppppppcVar18 = *pppppppcVar9;\n  bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18);\n  if (bStack_34c - 1 < 5) {\n    bStack_34b = bStack_34c << 1;\n    bStack_349 = (bStack_34c + 1) * '\b';\n    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);\n    ppppppcVar18 = pppppppcVar9[1];\n    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);\n    if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }\n  }\n  iVar7 = *piVar33;\n  if (iStack_164 == iVar7) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(pcVar5 + 0xd8a0c);\n  (*pcVar5)();\n  iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23);\n  if (iVar7 == 5) {\n    return 5;\n  }\n  iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18);\n  if (iVar7 == 0) {\n    return 0;\n  }\n  iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18);\n  iVar15 = *(int *)(iVar7 + 0xc);\n  *(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c);\n  if (iVar15 != 0) {\n    if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    (*pcVar6)(iVar7,iVar11,uVar38);\n  }\nLAB_000843cc:\n  iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);\n  iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23);\n  if (iVar11 == 0) {\n    return iVar15;\n  }\n                    \n                    \n  iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15);\n  return iVar7;\n}" (primitive_type "int") (function_declarator "FUN_00083390(code ******param_1,code *******param_2,code *******param_3,code *******param_4)" (identifier "FUN_00083390") (parameter_list "(code ******param_1,code *******param_2,code *******param_3,code *******param_4)" (( "(") (parameter_declaration "code ******param_1" (type_identifier "code") (pointer_declarator "******param_1" (* "*") (pointer_declarator "*****param_1" (* "*") (pointer_declarator "****param_1" (* "*") (pointer_declarator "***param_1" (* "*") (pointer_declarator "**param_1" (* "*") (pointer_declarator "*param_1" (* "*") (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  code *pcVar1;\n  byte bVar2;\n  bool bVar3;\n  undefined *puVar4;\n  code *pcVar5;\n  code *pcVar6;\n  int iVar7;\n  code *****pppppcVar8;\n  code *******pppppppcVar9;\n  code ****ppppcVar10;\n  int iVar11;\n  code *****pppppcVar12;\n  code *******pppppppcVar13;\n  code ****ppppcVar14;\n  int iVar15;\n  code ****ppppcVar16;\n  code ******ppppppcVar17;\n  code ******ppppppcVar18;\n  code *******pppppppcVar19;\n  code ****ppppcVar20;\n  uint uVar21;\n  code *******pppppppcVar22;\n  undefined4 *puVar23;\n  code ****ppppcVar24;\n  code ****ppppcVar25;\n  code ****ppppcVar26;\n  code ****ppppcVar27;\n  code *******unaff_s0;\n  uint *puVar28;\n  undefined *unaff_s1;\n  int iVar29;\n  code *******unaff_s2;\n  code *******unaff_s3;\n  code *****pppppcVar30;\n  int iVar31;\n  code *******unaff_s4;\n  code *******pppppppcVar32;\n  code *******unaff_s5;\n  int *piVar33;\n  int iVar34;\n  code *****unaff_s7;\n  float *pfVar35;\n  undefined *puVar36;\n  int iVar37;\n  undefined4 uVar38;\n  float fVar39;\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  byte bStack_34c;\n  byte bStack_34b;\n  byte bStack_349;\n  int iStack_164;\n  uint *puStack_160;\n  code *******pppppppcStack_15c;\n  code *******pppppppcStack_158;\n  int iStack_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  int local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_0015ca30;\n  puVar36 = PTR_s_LE_FTS4_0015c5f4;\n  pppppcVar12 = param_1[5];\n  local_2c = *(int *)PTR___stack_chk_guard_0015ca30;\n  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar18 = param_1;\n    pppppppcVar19 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }\n  }\nLAB_00083534:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }\n  pcVar5 = FUN_000836fc;\n  puVar36 = PTR___stack_chk_fail_0015ca14;\n  (*(code *)PTR___stack_chk_fail_0015ca14)();\n  puStack_120 = puVar36 + 0xe0eb4;\n  puVar28 = *(uint **)(puVar36 + 0xd9334);\n  pbStack_b4 = (byte *)0x0;\n  ppppppcStack_94 = (code ******)*puVar28;\n  pppppppcVar9 = param_3;\n  pppppppcVar32 = 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 = pcVar5;\n  if (pppppppcVar19 == (code *******)0x0) {\nLAB_00083750:\n    iVar7 = 0;\n    ppppppcVar18 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }\n  if (ppppppcStack_94 == (code ******)*puVar28) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(puStack_120 + -0x7b9c);\n  uVar38 = 0x84008;\n  ppppppcVar17 = ppppppcStack_94;\n  (*pcVar5)();\n  uVar21 = 0;\n  puVar23 = (undefined4 *)&DAT_000001f8;\n  piVar33 = *(int **)(pcVar5 + 0xd8a28);\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 = *piVar33;\n  puStack_160 = puVar28;\n  pppppppcStack_15c = pppppppcVar19;\n  pppppppcStack_158 = unaff_s2;\n  iStack_154 = iVar7;\n  pppppppcStack_150 = pppppppcVar32;\n  pppppppcStack_14c = unaff_s5;\n  pppppppcStack_148 = param_2;\n  pppppcStack_144 = unaff_s7;\n  ppppppcStack_140 = ppppppcVar18;\n  uStack_13c = uVar38;\n  (**(code **)(pcVar5 + 0xd89b0))(auStack_360);\n  ppppppcVar18 = *pppppppcVar9;\n  bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18);\n  if (bStack_34c - 1 < 5) {\n    bStack_34b = bStack_34c << 1;\n    bStack_349 = (bStack_34c + 1) * '\b';\n    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);\n    ppppppcVar18 = pppppppcVar9[1];\n    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);\n    if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }\n  }\n  iVar7 = *piVar33;\n  if (iStack_164 == iVar7) {\n    return iVar7;\n  }\n  pcVar5 = *(code **)(pcVar5 + 0xd8a0c);\n  (*pcVar5)();\n  iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23);\n  if (iVar7 == 5) {\n    return 5;\n  }\n  iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18);\n  if (iVar7 == 0) {\n    return 0;\n  }\n  iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18);\n  iVar15 = *(int *)(iVar7 + 0xc);\n  *(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c);\n  if (iVar15 != 0) {\n    if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    (*pcVar6)(iVar7,iVar11,uVar38);\n  }\nLAB_000843cc:\n  iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);\n  iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23);\n  if (iVar11 == 0) {\n    return iVar15;\n  }\n                    \n                    \n  iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15);\n  return iVar7;\n}" ({ "{") (declaration "code *pcVar1;" (type_identifier "code") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "bool bVar3;" (primitive_type "bool") (identifier "bVar3") (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "code *pcVar5;" (type_identifier "code") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "code *pcVar6;" (type_identifier "code") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "code *****pppppcVar8;" (type_identifier "code") (pointer_declarator "*****pppppcVar8" (* "*") (pointer_declarator "****pppppcVar8" (* "*") (pointer_declarator "***pppppcVar8" (* "*") (pointer_declarator "**pppppcVar8" (* "*") (pointer_declarator "*pppppcVar8" (* "*") (identifier "pppppcVar8")))))) (; ";")) (declaration "code *******pppppppcVar9;" (type_identifier "code") (pointer_declarator "*******pppppppcVar9" (* "*") (pointer_declarator "******pppppppcVar9" (* "*") (pointer_declarator "*****pppppppcVar9" (* "*") (pointer_declarator "****pppppppcVar9" (* "*") (pointer_declarator "***pppppppcVar9" (* "*") (pointer_declarator "**pppppppcVar9" (* "*") (pointer_declarator "*pppppppcVar9" (* "*") (identifier "pppppppcVar9")))))))) (; ";")) (declaration "code ****ppppcVar10;" (type_identifier "code") (pointer_declarator "****ppppcVar10" (* "*") (pointer_declarator "***ppppcVar10" (* "*") (pointer_declarator "**ppppcVar10" (* "*") (pointer_declarator "*ppppcVar10" (* "*") (identifier "ppppcVar10"))))) (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "code *****pppppcVar12;" (type_identifier "code") (pointer_declarator "*****pppppcVar12" (* "*") (pointer_declarator "****pppppcVar12" (* "*") (pointer_declarator "***pppppcVar12" (* "*") (pointer_declarator "**pppppcVar12" (* "*") (pointer_declarator "*pppppcVar12" (* "*") (identifier "pppppcVar12")))))) (; ";")) (declaration "code *******pppppppcVar13;" (type_identifier "code") (pointer_declarator "*******pppppppcVar13" (* "*") (pointer_declarator "******pppppppcVar13" (* "*") (pointer_declarator "*****pppppppcVar13" (* "*") (pointer_declarator "****pppppppcVar13" (* "*") (pointer_declarator "***pppppppcVar13" (* "*") (pointer_declarator "**pppppppcVar13" (* "*") (pointer_declarator "*pppppppcVar13" (* "*") (identifier "pppppppcVar13")))))))) (; ";")) (declaration "code ****ppppcVar14;" (type_identifier "code") (pointer_declarator "****ppppcVar14" (* "*") (pointer_declarator "***ppppcVar14" (* "*") (pointer_declarator "**ppppcVar14" (* "*") (pointer_declarator "*ppppcVar14" (* "*") (identifier "ppppcVar14"))))) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "code ****ppppcVar16;" (type_identifier "code") (pointer_declarator "****ppppcVar16" (* "*") (pointer_declarator "***ppppcVar16" (* "*") (pointer_declarator "**ppppcVar16" (* "*") (pointer_declarator "*ppppcVar16" (* "*") (identifier "ppppcVar16"))))) (; ";")) (declaration "code ******ppppppcVar17;" (type_identifier "code") (pointer_declarator "******ppppppcVar17" (* "*") (pointer_declarator "*****ppppppcVar17" (* "*") (pointer_declarator "****ppppppcVar17" (* "*") (pointer_declarator "***ppppppcVar17" (* "*") (pointer_declarator "**ppppppcVar17" (* "*") (pointer_declarator "*ppppppcVar17" (* "*") (identifier "ppppppcVar17"))))))) (; ";")) (declaration "code ******ppppppcVar18;" (type_identifier "code") (pointer_declarator "******ppppppcVar18" (* "*") (pointer_declarator "*****ppppppcVar18" (* "*") (pointer_declarator "****ppppppcVar18" (* "*") (pointer_declarator "***ppppppcVar18" (* "*") (pointer_declarator "**ppppppcVar18" (* "*") (pointer_declarator "*ppppppcVar18" (* "*") (identifier "ppppppcVar18"))))))) (; ";")) (declaration "code *******pppppppcVar19;" (type_identifier "code") (pointer_declarator "*******pppppppcVar19" (* "*") (pointer_declarator "******pppppppcVar19" (* "*") (pointer_declarator "*****pppppppcVar19" (* "*") (pointer_declarator "****pppppppcVar19" (* "*") (pointer_declarator "***pppppppcVar19" (* "*") (pointer_declarator "**pppppppcVar19" (* "*") (pointer_declarator "*pppppppcVar19" (* "*") (identifier "pppppppcVar19")))))))) (; ";")) (declaration "code ****ppppcVar20;" (type_identifier "code") (pointer_declarator "****ppppcVar20" (* "*") (pointer_declarator "***ppppcVar20" (* "*") (pointer_declarator "**ppppcVar20" (* "*") (pointer_declarator "*ppppcVar20" (* "*") (identifier "ppppcVar20"))))) (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "code *******pppppppcVar22;" (type_identifier "code") (pointer_declarator "*******pppppppcVar22" (* "*") (pointer_declarator "******pppppppcVar22" (* "*") (pointer_declarator "*****pppppppcVar22" (* "*") (pointer_declarator "****pppppppcVar22" (* "*") (pointer_declarator "***pppppppcVar22" (* "*") (pointer_declarator "**pppppppcVar22" (* "*") (pointer_declarator "*pppppppcVar22" (* "*") (identifier "pppppppcVar22")))))))) (; ";")) (declaration "undefined4 *puVar23;" (type_identifier "undefined4") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "code ****ppppcVar24;" (type_identifier "code") (pointer_declarator "****ppppcVar24" (* "*") (pointer_declarator "***ppppcVar24" (* "*") (pointer_declarator "**ppppcVar24" (* "*") (pointer_declarator "*ppppcVar24" (* "*") (identifier "ppppcVar24"))))) (; ";")) (declaration "code ****ppppcVar25;" (type_identifier "code") (pointer_declarator "****ppppcVar25" (* "*") (pointer_declarator "***ppppcVar25" (* "*") (pointer_declarator "**ppppcVar25" (* "*") (pointer_declarator "*ppppcVar25" (* "*") (identifier "ppppcVar25"))))) (; ";")) (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 *******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 "uint *puVar28;" (type_identifier "uint") (pointer_declarator "*puVar28" (* "*") (identifier "puVar28")) (; ";")) (declaration "undefined *unaff_s1;" (type_identifier "undefined") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (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 "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 *****pppppcVar30;" (type_identifier "code") (pointer_declarator "*****pppppcVar30" (* "*") (pointer_declarator "****pppppcVar30" (* "*") (pointer_declarator "***pppppcVar30" (* "*") (pointer_declarator "**pppppcVar30" (* "*") (pointer_declarator "*pppppcVar30" (* "*") (identifier "pppppcVar30")))))) (; ";")) (declaration "int iVar31;" (primitive_type "int") (identifier "iVar31") (; ";")) (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 *******pppppppcVar32;" (type_identifier "code") (pointer_declarator "*******pppppppcVar32" (* "*") (pointer_declarator "******pppppppcVar32" (* "*") (pointer_declarator "*****pppppppcVar32" (* "*") (pointer_declarator "****pppppppcVar32" (* "*") (pointer_declarator "***pppppppcVar32" (* "*") (pointer_declarator "**pppppppcVar32" (* "*") (pointer_declarator "*pppppppcVar32" (* "*") (identifier "pppppppcVar32")))))))) (; ";")) (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 *piVar33;" (primitive_type "int") (pointer_declarator "*piVar33" (* "*") (identifier "piVar33")) (; ";")) (declaration "int iVar34;" (primitive_type "int") (identifier "iVar34") (; ";")) (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 *pfVar35;" (primitive_type "float") (pointer_declarator "*pfVar35" (* "*") (identifier "pfVar35")) (; ";")) (declaration "undefined *puVar36;" (type_identifier "undefined") (pointer_declarator "*puVar36" (* "*") (identifier "puVar36")) (; ";")) (declaration "int iVar37;" (primitive_type "int") (identifier "iVar37") (; ";")) (declaration "undefined4 uVar38;" (type_identifier "undefined4") (identifier "uVar38") (; ";")) (declaration "float fVar39;" (primitive_type "float") (identifier "fVar39") (; ";")) (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 "byte bStack_34c;" (type_identifier "byte") (identifier "bStack_34c") (; ";")) (declaration "byte bStack_34b;" (type_identifier "byte") (identifier "bStack_34b") (; ";")) (declaration "byte bStack_349;" (type_identifier "byte") (identifier "bStack_349") (; ";")) (declaration "int iStack_164;" (primitive_type "int") (identifier "iStack_164") (; ";")) (declaration "uint *puStack_160;" (type_identifier "uint") (pointer_declarator "*puStack_160" (* "*") (identifier "puStack_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 "int iStack_154;" (primitive_type "int") (identifier "iStack_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 "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar4 = PTR___stack_chk_guard_0015ca30;" (assignment_expression "puVar4 = PTR___stack_chk_guard_0015ca30" (identifier "puVar4") (= "=") (identifier "PTR___stack_chk_guard_0015ca30")) (; ";")) (expression_statement "puVar36 = PTR_s_LE_FTS4_0015c5f4;" (assignment_expression "puVar36 = PTR_s_LE_FTS4_0015c5f4" (identifier "puVar36") (= "=") (identifier "PTR_s_LE_FTS4_0015c5f4")) (; ";")) (expression_statement "pppppcVar12 = param_1[5];" (assignment_expression "pppppcVar12 = param_1[5]" (identifier "pppppcVar12") (= "=") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_0015ca30;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_0015ca30" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0015ca30" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0015ca30" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0015ca30")))) (; ";")) (if_statement "if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {\n    ppppppcVar18 = param_1;\n    pppppppcVar19 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }\n  else {\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\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    ppppppcVar18 = param_1;\n    pppppppcVar19 = param_2;\n    pppppppcStack_80 = unaff_s4;\n    if (param_4 != (code *******)0x0) {\nLAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }\n  }" ({ "{") (expression_statement "ppppppcVar18 = param_1;" (assignment_expression "ppppppcVar18 = param_1" (identifier "ppppppcVar18") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pppppppcVar19 = param_2;" (assignment_expression "pppppppcVar19 = param_2" (identifier "pppppppcVar19") (= "=") (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_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\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_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }\n      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);\n      ppppppcVar18 = param_1;\n      local_58 = param_4;\n      FUN_00083088();\n      pppppppcStack_80 = unaff_s4;\n    }" ({ "{") (labeled_statement "LAB_0008366c:\n      if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }" (statement_identifier "LAB_0008366c") (: ":") (if_statement "if (param_2 == (code *******)0x0) {\n        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);\n      }\n      else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\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_LE_FTS4_0015c5f4 + -0x7894);\n      }" ({ "{") (expression_statement "param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);" (assignment_expression "param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894)" (identifier "param_3") (= "=") (cast_expression "(code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894)" (( "(") (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_LE_FTS4_0015c5f4 + -0x7894)" (( "(") (binary_expression "PTR_s_LE_FTS4_0015c5f4 + -0x7894" (identifier "PTR_s_LE_FTS4_0015c5f4") (+ "+") (number_literal "-0x7894")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }" (else "else") (compound_statement "{\n        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);\n      }" ({ "{") (expression_statement "param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);" (assignment_expression "param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0)" (identifier "param_3") (= "=") (cast_expression "(code *******)(PTR_LAB_0015c5e8 + 0x79d0)" (( "(") (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_0015c5e8 + 0x79d0)" (( "(") (binary_expression "PTR_LAB_0015c5e8 + 0x79d0" (identifier "PTR_LAB_0015c5e8") (+ "+") (number_literal "0x79d0")) () ")")))) (; ";")) (} "}"))))) (expression_statement "pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);" (assignment_expression "pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c)" (identifier "pppppppcVar19") (= "=") (cast_expression "(code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c)" (( "(") (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_LE_FTS4_0015c5f4 + -0x783c)" (( "(") (binary_expression "PTR_s_LE_FTS4_0015c5f4 + -0x783c" (identifier "PTR_s_LE_FTS4_0015c5f4") (+ "+") (number_literal "-0x783c")) () ")")))) (; ";")) (expression_statement "ppppppcVar18 = param_1;" (assignment_expression "ppppppcVar18 = param_1" (identifier "ppppppcVar18") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" (identifier "local_58") (= "=") (identifier "param_4")) (; ";")) (expression_statement "FUN_00083088();" (call_expression "FUN_00083088()" (identifier "FUN_00083088") (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_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }\n  }" (else "else") (compound_statement "{\n    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;\n    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);\n    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);\n    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);\n    unaff_s0 = param_3;\n    pppppppcVar9 = param_4;\n    unaff_s3 = unaff_s4;\n    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }\n    unaff_s3 = pppppppcVar9;\n    if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }\n  }" ({ "{") (expression_statement "unaff_s1 = PTR_LAB_0015c718 + 0x31a0;" (assignment_expression "unaff_s1 = PTR_LAB_0015c718 + 0x31a0" (identifier "unaff_s1") (= "=") (binary_expression "PTR_LAB_0015c718 + 0x31a0" (identifier "PTR_LAB_0015c718") (+ "+") (number_literal "0x31a0"))) (; ";")) (expression_statement "unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);" (assignment_expression "unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248)" (identifier "unaff_s5") (= "=") (cast_expression "(code *******)(PTR_LAB_0015c718 + 0x3248)" (( "(") (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_0015c718 + 0x3248)" (( "(") (binary_expression "PTR_LAB_0015c718 + 0x3248" (identifier "PTR_LAB_0015c718") (+ "+") (number_literal "0x3248")) () ")")))) (; ";")) (expression_statement "pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);" (assignment_expression "pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c)" (identifier "pcVar5") (= "=") (cast_expression "(code *)(PTR_LAB_0015c66c + -0x138c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015c66c + -0x138c)" (( "(") (binary_expression "PTR_LAB_0015c66c + -0x138c" (identifier "PTR_LAB_0015c66c") (+ "+") (number_literal "-0x138c")) () ")")))) (; ";")) (expression_statement "pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);" (assignment_expression "pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088)" (identifier "pcVar6") (= "=") (cast_expression "(code *)(PTR_LAB_0015c718 + 0x3088)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015c718 + 0x3088)" (( "(") (binary_expression "PTR_LAB_0015c718 + 0x3088" (identifier "PTR_LAB_0015c718") (+ "+") (number_literal "0x3088")) () ")")))) (; ";")) (expression_statement "unaff_s0 = param_3;" (assignment_expression "unaff_s0 = param_3" (identifier "unaff_s0") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pppppppcVar9 = param_4;" (assignment_expression "pppppppcVar9 = param_4" (identifier "pppppppcVar9") (= "=") (identifier "param_4")) (; ";")) (expression_statement "unaff_s3 = unaff_s4;" (assignment_expression "unaff_s3 = unaff_s4" (identifier "unaff_s3") (= "=") (identifier "unaff_s4")) (; ";")) (while_statement "while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0) {\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }\n      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;\n    }" (while "while") (parenthesized_expression "(ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0)" (( "(") (comma_expression "ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0" (assignment_expression "ppppppcVar18 = param_1" (identifier "ppppppcVar18") (= "=") (identifier "param_1")) (, ",") (comma_expression "pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0" (assignment_expression "pppppppcVar19 = unaff_s0" (identifier "pppppppcVar19") (= "=") (identifier "unaff_s0")) (, ",") (comma_expression "iVar7 = FUN_000831a0(),\n          pppppppcStack_80 = unaff_s3, iVar7 == 0" (assignment_expression "iVar7 = FUN_000831a0()" (identifier "iVar7") (= "=") (call_expression "FUN_000831a0()" (identifier "FUN_000831a0") (argument_list "()" (( "(") () ")")))) (, ",") (comma_expression "pppppppcStack_80 = unaff_s3, iVar7 == 0" (assignment_expression "pppppppcStack_80 = unaff_s3" (identifier "pppppppcStack_80") (= "=") (identifier "unaff_s3")) (, ",") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")))))) () ")")) (compound_statement "{\n      param_3 = &local_30;\n      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);\n      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);\n      pppppppcStack_80 = unaff_s3;\n      if (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }\n      pppppppcVar19 = (code *******)*param_1;\n      unaff_s7 = local_30[1];\n      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);\n      if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\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)pppppppcVar9 + -1);" (assignment_expression "unaff_s3 = (code *******)((int)pppppppcVar9 + -1)" (identifier "unaff_s3") (= "=") (cast_expression "(code *******)((int)pppppppcVar9 + -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)pppppppcVar9 + -1)" (( "(") (binary_expression "(int)pppppppcVar9 + -1" (cast_expression "(int)pppppppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar9")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);" (assignment_expression "iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0)" (identifier "iVar7") (= "=") (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 (iVar7 != 0) {\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);\n        ppppppcVar18 = param_1;\n        param_3 = unaff_s0;\n        FUN_00083088();\n        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;\n        pppppcVar8 = param_1[5];\n        unaff_s4 = unaff_s3;\n        goto LAB_00083658;\n      }" ({ "{") (expression_statement "pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);" (assignment_expression "pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c)" (identifier "pppppppcVar19") (= "=") (cast_expression "(code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c)" (( "(") (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_LE_FTS4_0015c5f4 + -0x787c)" (( "(") (binary_expression "PTR_s_LE_FTS4_0015c5f4 + -0x787c" (identifier "PTR_s_LE_FTS4_0015c5f4") (+ "+") (number_literal "-0x787c")) () ")")))) (; ";")) (expression_statement "ppppppcVar18 = param_1;" (assignment_expression "ppppppcVar18 = param_1" (identifier "ppppppcVar18") (= "=") (identifier "param_1")) (; ";")) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" (identifier "param_3") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "FUN_00083088();" (call_expression "FUN_00083088()" (identifier "FUN_00083088") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (unaff_s3 == (code *******)0x0) goto LAB_00083534;" (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_00083534;" (goto "goto") (statement_identifier "LAB_00083534") (; ";"))) (expression_statement "pppppcVar8 = param_1[5];" (assignment_expression "pppppcVar8 = param_1[5]" (identifier "pppppcVar8") (= "=") (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_00083658;" (goto "goto") (statement_identifier "LAB_00083658") (; ";")) (} "}"))) (expression_statement "pppppppcVar19 = (code *******)*param_1;" (assignment_expression "pppppppcVar19 = (code *******)*param_1" (identifier "pppppppcVar19") (= "=") (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 "pcVar1 = (code *)((int)pppppppcVar19 + 0x11);" (assignment_expression "pcVar1 = (code *)((int)pppppppcVar19 + 0x11)" (identifier "pcVar1") (= "=") (cast_expression "(code *)((int)pppppppcVar19 + 0x11)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar19 + 0x11)" (( "(") (binary_expression "(int)pppppppcVar19 + 0x11" (cast_expression "(int)pppppppcVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar19")) (+ "+") (number_literal "0x11")) () ")")))) (; ";")) (if_statement "if (param_2 == (code *******)0x0) {\n        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }\n      else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\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        pppppppcVar19 = (code *******)*unaff_s7;\n        pppppppcVar32 = pppppppcVar19;\n        pppppppcVar9 = unaff_s3;\n        if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }\nLAB_00083518:\n        ppppppcVar18 = local_30;\n        (*pcVar5)();\n        unaff_s0 = pppppppcVar32;\n      }" ({ "{") (expression_statement "pppppppcVar19 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar19 = (code *******)*unaff_s7" (identifier "pppppppcVar19") (= "=") (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 "pppppppcVar32 = pppppppcVar19;" (assignment_expression "pppppppcVar32 = pppppppcVar19" (identifier "pppppppcVar32") (= "=") (identifier "pppppppcVar19")) (; ";")) (expression_statement "pppppppcVar9 = unaff_s3;" (assignment_expression "pppppppcVar9 = unaff_s3" (identifier "pppppppcVar9") (= "=") (identifier "unaff_s3")) (; ";")) (if_statement "if ((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {\n          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }" (if "if") (parenthesized_expression "((*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0))" (( "(") (binary_expression "(*pcVar1 != (code)0x0) &&\n           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)" (parenthesized_expression "(*pcVar1 != (code)0x0)" (( "(") (binary_expression "*pcVar1 != (code)0x0" (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) (!= "!=") (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_00083248(param_1,pppppppcVar19,4,unaff_s0);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          goto LAB_00083488;\n        }" ({ "{") (expression_statement "FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);" (call_expression "FUN_00083248(param_1,pppppppcVar19,4,unaff_s0)" (identifier "FUN_00083248") (argument_list "(param_1,pppppppcVar19,4,unaff_s0)" (( "(") (identifier "param_1") (, ",") (identifier "pppppppcVar19") (, ",") (number_literal "4") (, ",") (identifier "unaff_s0") () ")"))) (; ";")) (expression_statement "pppppppcVar32 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar32 = (code *******)*unaff_s7" (identifier "pppppppcVar32") (= "=") (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_00083488;" (goto "goto") (statement_identifier "LAB_00083488") (; ";")) (} "}"))) (labeled_statement "LAB_00083518:\n        ppppppcVar18 = local_30;" (statement_identifier "LAB_00083518") (: ":") (expression_statement "ppppppcVar18 = local_30;" (assignment_expression "ppppppcVar18 = local_30" (identifier "ppppppcVar18") (= "=") (identifier "local_30")) (; ";"))) (expression_statement "(*pcVar5)();" (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "unaff_s0 = pppppppcVar32;" (assignment_expression "unaff_s0 = pppppppcVar32" (identifier "unaff_s0") (= "=") (identifier "pppppppcVar32")) (; ";")) (} "}")) (else_clause "else {\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\n      }" (else "else") (compound_statement "{\n        unaff_s2 = (code *******)unaff_s7[1];\n        if (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }\n        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }\nLAB_00083488:\n        unaff_s0 = pppppppcVar32;\n        ppppppcVar18 = local_30;\n        if (local_30 != (code ******)0x0) goto LAB_00083518;\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 (*pcVar1 != (code)0x0) {\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }" (if "if") (parenthesized_expression "(*pcVar1 != (code)0x0)" (( "(") (binary_expression "*pcVar1 != (code)0x0" (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          param_3 = (code *******)&SUB_00000002;\n          FUN_00083248(param_1,unaff_s0,2,0);\n          pppppppcVar19 = (code *******)*param_1;\n        }" ({ "{") (expression_statement "param_3 = (code *******)&SUB_00000002;" (assignment_expression "param_3 = (code *******)&SUB_00000002" (identifier "param_3") (= "=") (cast_expression "(code *******)&SUB_00000002" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&SUB_00000002" (& "&") (identifier "SUB_00000002")))) (; ";")) (expression_statement "FUN_00083248(param_1,unaff_s0,2,0);" (call_expression "FUN_00083248(param_1,unaff_s0,2,0)" (identifier "FUN_00083248") (argument_list "(param_1,unaff_s0,2,0)" (( "(") (identifier "param_1") (, ",") (identifier "unaff_s0") (, ",") (number_literal "2") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "pppppppcVar19 = (code *******)*param_1;" (assignment_expression "pppppppcVar19 = (code *******)*param_1" (identifier "pppppppcVar19") (= "=") (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)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }\n        else {\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" (if "if") (parenthesized_expression "((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2)" (( "(") (binary_expression "(code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2" (cast_expression "(code *******)(((uint)pppppppcVar19[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)pppppppcVar19[9] >> 2) - 2)" (( "(") (binary_expression "((uint)pppppppcVar19[9] >> 2) - 2" (parenthesized_expression "((uint)pppppppcVar19[9] >> 2)" (( "(") (binary_expression "(uint)pppppppcVar19[9] >> 2" (cast_expression "(uint)pppppppcVar19[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pppppppcVar19[9]" (identifier "pppppppcVar19") ([ "[") (number_literal "9") (] "]"))) (>> ">>") (number_literal "2")) () ")")) (- "-") (number_literal "2")) () ")"))) (< "<") (identifier "unaff_s2")) () ")")) (compound_statement "{\n          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);\n          pppppppcVar19 = (code *******)(puVar36 + -0x7864);\n          (*pcVar6)(param_1);\n          pppppppcVar32 = (code *******)*unaff_s7;\n          param_3 = unaff_s0;\n        }" ({ "{") (expression_statement "pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);" (assignment_expression "pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2)" (identifier "pppppppcVar9") (= "=") (cast_expression "(code *******)((int)pppppppcVar9 + -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)pppppppcVar9 + -2)" (( "(") (binary_expression "(int)pppppppcVar9 + -2" (cast_expression "(int)pppppppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar9")) (+ "+") (number_literal "-2")) () ")")))) (; ";")) (expression_statement "pppppppcVar19 = (code *******)(puVar36 + -0x7864);" (assignment_expression "pppppppcVar19 = (code *******)(puVar36 + -0x7864)" (identifier "pppppppcVar19") (= "=") (cast_expression "(code *******)(puVar36 + -0x7864)" (( "(") (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 "(puVar36 + -0x7864)" (( "(") (binary_expression "puVar36 + -0x7864" (identifier "puVar36") (+ "+") (number_literal "-0x7864")) () ")")))) (; ";")) (expression_statement "(*pcVar6)(param_1);" (call_expression "(*pcVar6)(param_1)" (parenthesized_expression "(*pcVar6)" (( "(") (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6")) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "pppppppcVar32 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar32 = (code *******)*unaff_s7" (identifier "pppppppcVar32") (= "=") (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            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" (else "else") (compound_statement "{\n          if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }\n          pppppppcVar32 = (code *******)*unaff_s7;\n          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);\n        }" ({ "{") (if_statement "if (0 < (int)unaff_s2) {\n            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (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            pppppcVar30 = unaff_s7 + 2;\n            pppppcVar8 = pppppcVar30 + (int)unaff_s2;\n            while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }\n          }" ({ "{") (expression_statement "pppppcVar30 = unaff_s7 + 2;" (assignment_expression "pppppcVar30 = unaff_s7 + 2" (identifier "pppppcVar30") (= "=") (binary_expression "unaff_s7 + 2" (identifier "unaff_s7") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pppppcVar8 = pppppcVar30 + (int)unaff_s2;" (assignment_expression "pppppcVar8 = pppppcVar30 + (int)unaff_s2" (identifier "pppppcVar8") (= "=") (binary_expression "pppppcVar30 + (int)unaff_s2" (identifier "pppppcVar30") (+ "+") (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")))) (; ";")) (while_statement "while( true ) {\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              pppppppcVar9 = (code *******)*pppppcVar30;\n              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              if (pppppcVar30 + 1 == pppppcVar8) break;\n              pppppcVar30 = pppppcVar30 + 1;\n              pppppppcVar19 = (code *******)*param_1;\n            }" ({ "{") (expression_statement "pppppppcVar9 = (code *******)*pppppcVar30;" (assignment_expression "pppppppcVar9 = (code *******)*pppppcVar30" (identifier "pppppppcVar9") (= "=") (cast_expression "(code *******)*pppppcVar30" (( "(") (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 "*pppppcVar30" (* "*") (identifier "pppppcVar30")))) (; ";")) (if_statement "if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }\n              else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }" (if "if") (parenthesized_expression "(*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0)" (( "(") (binary_expression "*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar19 + 0x11)" (* "*") (cast_expression "(code *)((int)pppppppcVar19 + 0x11)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar19 + 0x11)" (( "(") (binary_expression "(int)pppppppcVar19 + 0x11" (cast_expression "(int)pppppppcVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar19")) (+ "+") (number_literal "0x11")) () ")")))) (== "==") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }" ({ "{") (expression_statement "FUN_000831a0(param_1);" (call_expression "FUN_000831a0(param_1)" (identifier "FUN_000831a0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "pppppppcVar19 = pppppppcVar9;" (assignment_expression "pppppppcVar19 = pppppppcVar9" (identifier "pppppppcVar19") (= "=") (identifier "pppppppcVar9")) (; ";")) (} "}")) (else_clause "else {\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }" (else "else") (compound_statement "{\n                param_3 = (code *******)&SUB_00000002;\n                FUN_00083248(param_1,pppppppcVar9,2,0);\n                FUN_000831a0(param_1);\n                pppppppcVar19 = pppppppcVar9;\n              }" ({ "{") (expression_statement "param_3 = (code *******)&SUB_00000002;" (assignment_expression "param_3 = (code *******)&SUB_00000002" (identifier "param_3") (= "=") (cast_expression "(code *******)&SUB_00000002" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&SUB_00000002" (& "&") (identifier "SUB_00000002")))) (; ";")) (expression_statement "FUN_00083248(param_1,pppppppcVar9,2,0);" (call_expression "FUN_00083248(param_1,pppppppcVar9,2,0)" (identifier "FUN_00083248") (argument_list "(param_1,pppppppcVar9,2,0)" (( "(") (identifier "param_1") (, ",") (identifier "pppppppcVar9") (, ",") (number_literal "2") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_000831a0(param_1);" (call_expression "FUN_000831a0(param_1)" (identifier "FUN_000831a0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "pppppppcVar19 = pppppppcVar9;" (assignment_expression "pppppppcVar19 = pppppppcVar9" (identifier "pppppppcVar19") (= "=") (identifier "pppppppcVar9")) (; ";")) (} "}")))) (if_statement "if (pppppcVar30 + 1 == pppppcVar8) break;" (if "if") (parenthesized_expression "(pppppcVar30 + 1 == pppppcVar8)" (( "(") (binary_expression "pppppcVar30 + 1 == pppppcVar8" (binary_expression "pppppcVar30 + 1" (identifier "pppppcVar30") (+ "+") (number_literal "1")) (== "==") (identifier "pppppcVar8")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pppppcVar30 = pppppcVar30 + 1;" (assignment_expression "pppppcVar30 = pppppcVar30 + 1" (identifier "pppppcVar30") (= "=") (binary_expression "pppppcVar30 + 1" (identifier "pppppcVar30") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pppppppcVar19 = (code *******)*param_1;" (assignment_expression "pppppppcVar19 = (code *******)*param_1" (identifier "pppppppcVar19") (= "=") (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 "pppppppcVar32 = (code *******)*unaff_s7;" (assignment_expression "pppppppcVar32 = (code *******)*unaff_s7" (identifier "pppppppcVar32") (= "=") (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 "pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);" (assignment_expression "pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2)" (identifier "pppppppcVar9") (= "=") (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_00083488:\n        unaff_s0 = pppppppcVar32;" (statement_identifier "LAB_00083488") (: ":") (expression_statement "unaff_s0 = pppppppcVar32;" (assignment_expression "unaff_s0 = pppppppcVar32" (identifier "unaff_s0") (= "=") (identifier "pppppppcVar32")) (; ";"))) (expression_statement "ppppppcVar18 = local_30;" (assignment_expression "ppppppcVar18 = local_30" (identifier "ppppppcVar18") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_30 != (code ******)0x0) goto LAB_00083518;" (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_00083518;" (goto "goto") (statement_identifier "LAB_00083518") (; ";"))) (} "}")))) (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 = pppppppcVar9;" (assignment_expression "unaff_s3 = pppppppcVar9" (identifier "unaff_s3") (= "=") (identifier "pppppppcVar9")) (; ";")) (if_statement "if (pppppppcVar9 != (code *******)0x0) {\n      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }" (if "if") (parenthesized_expression "(pppppppcVar9 != (code *******)0x0)" (( "(") (binary_expression "pppppppcVar9 != (code *******)0x0" (identifier "pppppppcVar9") (!= "!=") (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      pppppcVar8 = param_1[5];\n      unaff_s4 = pppppppcStack_80;\nLAB_00083658:\n      pppppppcStack_80 = unaff_s4;\n      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;\n    }" ({ "{") (expression_statement "pppppcVar8 = param_1[5];" (assignment_expression "pppppcVar8 = param_1[5]" (identifier "pppppcVar8") (= "=") (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_00083658:\n      pppppppcStack_80 = unaff_s4;" (statement_identifier "LAB_00083658") (: ":") (expression_statement "pppppppcStack_80 = unaff_s4;" (assignment_expression "pppppppcStack_80 = unaff_s4" (identifier "pppppppcStack_80") (= "=") (identifier "unaff_s4")) (; ";"))) (if_statement "if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;" (if "if") (parenthesized_expression "(pppppcVar8 == pppppcVar12)" (( "(") (binary_expression "pppppcVar8 == pppppcVar12" (identifier "pppppcVar8") (== "==") (identifier "pppppcVar12")) () ")")) (goto_statement "goto LAB_0008366c;" (goto "goto") (statement_identifier "LAB_0008366c") (; ";"))) (} "}"))) (} "}")))) (labeled_statement "LAB_00083534:\n  if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" (statement_identifier "LAB_00083534") (: ":") (if_statement "if (local_2c == *(int *)puVar4) {\n    return *(int *)puVar4;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar4)" (( "(") (binary_expression "local_2c == *(int *)puVar4" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) () ")")) (compound_statement "{\n    return *(int *)puVar4;\n  }" ({ "{") (return_statement "return *(int *)puVar4;" (return "return") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (; ";")) (} "}")))) (expression_statement "pcVar5 = FUN_000836fc;" (assignment_expression "pcVar5 = FUN_000836fc" (identifier "pcVar5") (= "=") (identifier "FUN_000836fc")) (; ";")) (expression_statement "puVar36 = PTR___stack_chk_fail_0015ca14;" (assignment_expression "puVar36 = PTR___stack_chk_fail_0015ca14" (identifier "puVar36") (= "=") (identifier "PTR___stack_chk_fail_0015ca14")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ca14)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ca14)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ca14)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0015ca14" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0015ca14" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0015ca14"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_120 = puVar36 + 0xe0eb4;" (assignment_expression "puStack_120 = puVar36 + 0xe0eb4" (identifier "puStack_120") (= "=") (binary_expression "puVar36 + 0xe0eb4" (identifier "puVar36") (+ "+") (number_literal "0xe0eb4"))) (; ";")) (expression_statement "puVar28 = *(uint **)(puVar36 + 0xd9334);" (assignment_expression "puVar28 = *(uint **)(puVar36 + 0xd9334)" (identifier "puVar28") (= "=") (pointer_expression "*(uint **)(puVar36 + 0xd9334)" (* "*") (cast_expression "(uint **)(puVar36 + 0xd9334)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar36 + 0xd9334)" (( "(") (binary_expression "puVar36 + 0xd9334" (identifier "puVar36") (+ "+") (number_literal "0xd9334")) () ")"))))) (; ";")) (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 ******)*puVar28;" (assignment_expression "ppppppcStack_94 = (code ******)*puVar28" (identifier "ppppppcStack_94") (= "=") (cast_expression "(code ******)*puVar28" (( "(") (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 "*puVar28" (* "*") (identifier "puVar28")))) (; ";")) (expression_statement "pppppppcVar9 = param_3;" (assignment_expression "pppppppcVar9 = param_3" (identifier "pppppppcVar9") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pppppppcVar32 = pppppppcStack_80;" (assignment_expression "pppppppcVar32 = pppppppcStack_80" (identifier "pppppppcVar32") (= "=") (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 = pcVar5;" (assignment_expression "pcStack_6c = pcVar5" (identifier "pcStack_6c") (= "=") (identifier "pcVar5")) (; ";")) (if_statement "if (pppppppcVar19 == (code *******)0x0) {\nLAB_00083750:\n    iVar7 = 0;\n    ppppppcVar18 = param_1;\n  }\n  else {\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }" (if "if") (parenthesized_expression "(pppppppcVar19 == (code *******)0x0)" (( "(") (binary_expression "pppppppcVar19 == (code *******)0x0" (identifier "pppppppcVar19") (== "==") (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_00083750:\n    iVar7 = 0;\n    ppppppcVar18 = param_1;\n  }" ({ "{") (labeled_statement "LAB_00083750:\n    iVar7 = 0;" (statement_identifier "LAB_00083750") (: ":") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";"))) (expression_statement "ppppppcVar18 = param_1;" (assignment_expression "ppppppcVar18 = param_1" (identifier "ppppppcVar18") (= "=") (identifier "param_1")) (; ";")) (} "}")) (else_clause "else {\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }" (else "else") (compound_statement "{\n    pppppcStack_114 = ppppppcVar18[7];\n    pppppppcVar32 = (code *******)*ppppppcVar18;\n    pppppcStack_110 = ppppppcVar18[8];\n    pppppcStack_10c = ppppppcVar18[9];\n    ppppppcStack_118 = pppppppcVar32[9];\n    iVar7 = FUN_000831a0();\n    unaff_s5 = param_3;\n    param_1 = ppppppcVar18;\n    if (iVar7 != 0) goto LAB_00083750;\n    iVar7 = *(int *)(puStack_120 + -0x7fbc);\n    iVar11 = *(int *)(puStack_120 + -0x7f44);\n    ppppppcVar18[8] = (code *****)pppppppcVar19;\n    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);\n    pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);\n    if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }\nLAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }\n    ppppppcVar18[7] = pppppcStack_114;\n    ppppppcVar18[8] = pppppcStack_110;\n    ppppppcVar18[9] = pppppcStack_10c;\n  }" ({ "{") (expression_statement "pppppcStack_114 = ppppppcVar18[7];" (assignment_expression "pppppcStack_114 = ppppppcVar18[7]" (identifier "pppppcStack_114") (= "=") (subscript_expression "ppppppcVar18[7]" (identifier "ppppppcVar18") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "pppppppcVar32 = (code *******)*ppppppcVar18;" (assignment_expression "pppppppcVar32 = (code *******)*ppppppcVar18" (identifier "pppppppcVar32") (= "=") (cast_expression "(code *******)*ppppppcVar18" (( "(") (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 "*ppppppcVar18" (* "*") (identifier "ppppppcVar18")))) (; ";")) (expression_statement "pppppcStack_110 = ppppppcVar18[8];" (assignment_expression "pppppcStack_110 = ppppppcVar18[8]" (identifier "pppppcStack_110") (= "=") (subscript_expression "ppppppcVar18[8]" (identifier "ppppppcVar18") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "pppppcStack_10c = ppppppcVar18[9];" (assignment_expression "pppppcStack_10c = ppppppcVar18[9]" (identifier "pppppcStack_10c") (= "=") (subscript_expression "ppppppcVar18[9]" (identifier "ppppppcVar18") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "ppppppcStack_118 = pppppppcVar32[9];" (assignment_expression "ppppppcStack_118 = pppppppcVar32[9]" (identifier "ppppppcStack_118") (= "=") (subscript_expression "pppppppcVar32[9]" (identifier "pppppppcVar32") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "iVar7 = FUN_000831a0();" (assignment_expression "iVar7 = FUN_000831a0()" (identifier "iVar7") (= "=") (call_expression "FUN_000831a0()" (identifier "FUN_000831a0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "unaff_s5 = param_3;" (assignment_expression "unaff_s5 = param_3" (identifier "unaff_s5") (= "=") (identifier "param_3")) (; ";")) (expression_statement "param_1 = ppppppcVar18;" (assignment_expression "param_1 = ppppppcVar18" (identifier "param_1") (= "=") (identifier "ppppppcVar18")) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_00083750;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00083750;" (goto "goto") (statement_identifier "LAB_00083750") (; ";"))) (expression_statement "iVar7 = *(int *)(puStack_120 + -0x7fbc);" (assignment_expression "iVar7 = *(int *)(puStack_120 + -0x7fbc)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fbc)" (( "(") (binary_expression "puStack_120 + -0x7fbc" (identifier "puStack_120") (+ "+") (number_literal "-0x7fbc")) () ")"))))) (; ";")) (expression_statement "iVar11 = *(int *)(puStack_120 + -0x7f44);" (assignment_expression "iVar11 = *(int *)(puStack_120 + -0x7f44)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(puStack_120 + -0x7f44)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7f44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7f44)" (( "(") (binary_expression "puStack_120 + -0x7f44" (identifier "puStack_120") (+ "+") (number_literal "-0x7f44")) () ")"))))) (; ";")) (expression_statement "ppppppcVar18[8] = (code *****)pppppppcVar19;" (assignment_expression "ppppppcVar18[8] = (code *****)pppppppcVar19" (subscript_expression "ppppppcVar18[8]" (identifier "ppppppcVar18") ([ "[") (number_literal "8") (] "]")) (= "=") (cast_expression "(code *****)pppppppcVar19" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "pppppppcVar19"))) (; ";")) (expression_statement "ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);" (assignment_expression "ppppppcVar18[7] = (code *****)(iVar7 + -0x7820)" (subscript_expression "ppppppcVar18[7]" (identifier "ppppppcVar18") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(code *****)(iVar7 + -0x7820)" (( "(") (type_descriptor "code *****" (type_identifier "code") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar7 + -0x7820)" (( "(") (binary_expression "iVar7 + -0x7820" (identifier "iVar7") (+ "+") (number_literal "-0x7820")) () ")")))) (; ";")) (expression_statement "pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);" (assignment_expression "pppppppcVar9 = (code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0)" (identifier "pppppppcVar9") (= "=") (cast_expression "(code *******)\n                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&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 *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0)" (parenthesized_expression "(*(code *)(iVar11 + -0xe54))" (( "(") (pointer_expression "*(code *)(iVar11 + -0xe54)" (* "*") (cast_expression "(code *)(iVar11 + -0xe54)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + -0xe54)" (( "(") (binary_expression "iVar11 + -0xe54" (identifier "iVar11") (+ "+") (number_literal "-0xe54")) () ")")))) () ")")) (argument_list "(pppppppcVar32,pppppppcVar19,&pbStack_b4,0)" (( "(") (identifier "pppppppcVar32") (, ",") (identifier "pppppppcVar19") (, ",") (pointer_expression "&pbStack_b4" (& "&") (identifier "pbStack_b4")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (pppppppcVar9 == (code *******)0x0) {\n      uStack_f0 = (uint)*pbStack_b4;\n      *pbStack_b4 = 0;\n      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }\n    }\n    else {\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }" (if "if") (parenthesized_expression "(pppppppcVar9 == (code *******)0x0)" (( "(") (binary_expression "pppppppcVar9 == (code *******)0x0" (identifier "pppppppcVar9") (== "==") (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_000695f8(pbStack_b4);\n      if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }\n      param_2 = *(code ********)(pbStack_b4 + 0x38);\n      bVar2 = pbStack_b4[9];\n      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);\n      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);\n      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;\n      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);\n      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);\n      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }\n      pppppppcVar22 = pppppppcStack_d8;\n      unaff_s2 = pppppppcStack_ec;\n      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\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_000695f8(pbStack_b4);" (assignment_expression "pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4)" (identifier "pppppppcStack_dc") (= "=") (cast_expression "(code *******)FUN_000695f8(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_000695f8(pbStack_b4)" (identifier "FUN_000695f8") (argument_list "(pbStack_b4)" (( "(") (identifier "pbStack_b4") () ")"))))) (; ";")) (if_statement "if (pppppppcStack_dc != (code *******)0x0) {\n        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\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        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;\n        pppppppcVar9 = pppppppcStack_dc;\n        goto LAB_00083b74;\n      }" ({ "{") (expression_statement "iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;" (assignment_expression "iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec" (identifier "iVar7") (= "=") (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x77ec" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fbc)" (( "(") (binary_expression "puStack_120 + -0x7fbc" (identifier "puStack_120") (+ "+") (number_literal "-0x7fbc")) () ")")))) (+ "+") (number_literal "-0x77ec"))) (; ";")) (expression_statement "pppppppcVar9 = pppppppcStack_dc;" (assignment_expression "pppppppcVar9 = pppppppcStack_dc" (identifier "pppppppcVar9") (= "=") (identifier "pppppppcStack_dc")) (; ";")) (goto_statement "goto LAB_00083b74;" (goto "goto") (statement_identifier "LAB_00083b74") (; ";")) (} "}"))) (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 "bVar2 = pbStack_b4[9];" (assignment_expression "bVar2 = pbStack_b4[9]" (identifier "bVar2") (= "=") (subscript_expression "pbStack_b4[9]" (identifier "pbStack_b4") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);" (assignment_expression "ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4)" (subscript_expression "ppppppcVar18[7]" (identifier "ppppppcVar18") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4)" (( "(") (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 + -0x7fbc) + -0x77c4)" (( "(") (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x77c4" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fbc)" (( "(") (binary_expression "puStack_120 + -0x7fbc" (identifier "puStack_120") (+ "+") (number_literal "-0x7fbc")) () ")")))) (+ "+") (number_literal "-0x77c4")) () ")")))) (; ";")) (expression_statement "pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);" (assignment_expression "pcStack_d4 = (code *)((int)param_2 + (uint)bVar2)" (identifier "pcStack_d4") (= "=") (cast_expression "(code *)((int)param_2 + (uint)bVar2)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + (uint)bVar2)" (( "(") (binary_expression "(int)param_2 + (uint)bVar2" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (cast_expression "(uint)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar2"))) () ")")))) (; ";")) (expression_statement "iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;" (assignment_expression "iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4" (identifier "iStack_c4") (= "=") (binary_expression "bVar2 + 0xc + (uint)pbStack_b4[8] * -4" (binary_expression "bVar2 + 0xc" (identifier "bVar2") (+ "+") (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 "pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);" (assignment_expression "pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1)" (identifier "pppppppcVar9") (= "=") (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)pppppppcVar9 & 0xffff);" (assignment_expression "ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 0xffff)" (identifier "ppppcStack_c8") (= "=") (cast_expression "(code ****)((uint)pppppppcVar9 & 0xffff)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((uint)pppppppcVar9 & 0xffff)" (( "(") (binary_expression "(uint)pppppppcVar9 & 0xffff" (cast_expression "(uint)pppppppcVar9" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar9")) (& "&") (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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }\n      else {\n        unaff_s7 = ppppppcVar18[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        uVar38 = *(undefined4 *)(pcStack_d4 + 8);\n        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }\n        pppppppcVar9 = (code *******)&local_58;\n        ppppppcStack_124 = ppppppcStack_54;\n        unaff_s7 = (code *****)0x0;\n        pppppppcStack_128 = local_58;\n        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);\n        iStack_104 = 0;\n      }" ({ "{") (expression_statement "uVar38 = *(undefined4 *)(pcStack_d4 + 8);" (assignment_expression "uVar38 = *(undefined4 *)(pcStack_d4 + 8)" (identifier "uVar38") (= "=") (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)pppppppcVar32 + 0x11) != (code)0x0) {\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }" (if "if") (parenthesized_expression "(*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0)" (( "(") (binary_expression "*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0" (pointer_expression "*(code *)((int)pppppppcVar32 + 0x11)" (* "*") (cast_expression "(code *)((int)pppppppcVar32 + 0x11)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar32 + 0x11)" (( "(") (binary_expression "(int)pppppppcVar32 + 0x11" (cast_expression "(int)pppppppcVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar32")) (+ "+") (number_literal "0x11")) () ")")))) (!= "!=") (cast_expression "(code)0x0" (( "(") (type_descriptor "code" (type_identifier "code")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);\n          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);\n        }" ({ "{") (expression_statement "ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);" (assignment_expression "ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8)" (subscript_expression "ppppppcVar18[7]" (identifier "ppppppcVar18") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8)" (( "(") (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 + -0x7fbc) + -0x77a8)" (( "(") (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x77a8" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fbc)" (( "(") (binary_expression "puStack_120 + -0x7fbc" (identifier "puStack_120") (+ "+") (number_literal "-0x7fbc")) () ")")))) (+ "+") (number_literal "-0x77a8")) () ")")))) (; ";")) (expression_statement "FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);" (call_expression "FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19)" (identifier "FUN_00083248") (argument_list "(ppppppcVar18,uVar38,5,pppppppcVar19)" (( "(") (identifier "ppppppcVar18") (, ",") (identifier "uVar38") (, ",") (number_literal "5") (, ",") (identifier "pppppppcVar19") () ")"))) (; ";")) (} "}"))) (expression_statement "pppppppcVar9 = (code *******)&local_58;" (assignment_expression "pppppppcVar9 = (code *******)&local_58" (identifier "pppppppcVar9") (= "=") (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_000836fc(ppppppcVar18,uVar38);" (assignment_expression "iStack_108 = FUN_000836fc(ppppppcVar18,uVar38)" (identifier "iStack_108") (= "=") (call_expression "FUN_000836fc(ppppppcVar18,uVar38)" (identifier "FUN_000836fc") (argument_list "(ppppppcVar18,uVar38)" (( "(") (identifier "ppppppcVar18") (, ",") (identifier "uVar38") () ")")))) (; ";")) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" (identifier "iStack_104") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" (else "else") (compound_statement "{\n        unaff_s7 = ppppppcVar18[0x10];\n        iStack_104 = 1;\n        *unaff_s7 = (code ****)0x0;\n        iStack_108 = -1;\n      }" ({ "{") (expression_statement "unaff_s7 = ppppppcVar18[0x10];" (assignment_expression "unaff_s7 = ppppppcVar18[0x10]" (identifier "unaff_s7") (= "=") (subscript_expression "ppppppcVar18[0x10]" (identifier "ppppppcVar18") ([ "[") (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 "pppppppcVar22 = pppppppcStack_d8;" (assignment_expression "pppppppcVar22 = pppppppcStack_d8" (identifier "pppppppcVar22") (= "=") (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) || (ppppppcVar18[4] == (code *****)0x0)) {\n        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }\n      else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" (if "if") (parenthesized_expression "((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0))" (( "(") (binary_expression "(pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[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 "(ppppppcVar18[4] == (code *****)0x0)" (( "(") (binary_expression "ppppppcVar18[4] == (code *****)0x0" (subscript_expression "ppppppcVar18[4]" (identifier "ppppppcVar18") ([ "[") (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        iVar7 = iStack_108 + 1;\n        param_3[1] = ppppppcStack_54;\n        *param_3 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\nLAB_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }\n      }" ({ "{") (expression_statement "iVar7 = iStack_108 + 1;" (assignment_expression "iVar7 = iStack_108 + 1" (identifier "iVar7") (= "=") (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 "ppppppcVar18[7] = (code *****)0x0;" (assignment_expression "ppppppcVar18[7] = (code *****)0x0" (subscript_expression "ppppppcVar18[7]" (identifier "ppppppcVar18") ([ "[") (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_00083c5c:\n        if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }" (statement_identifier "LAB_00083c5c") (: ":") (if_statement "if (0 < (int)ppppppcVar18[4]) {\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }" (if "if") (parenthesized_expression "(0 < (int)ppppppcVar18[4])" (( "(") (binary_expression "0 < (int)ppppppcVar18[4]" (number_literal "0") (< "<") (cast_expression "(int)ppppppcVar18[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppcVar18[4]" (identifier "ppppppcVar18") ([ "[") (number_literal "4") (] "]")))) () ")")) (compound_statement "{\n          if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }\n          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);\n          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);\n          if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }\n          ppppcVar20 = *unaff_s7;\n          pppppppcVar22 = pppppppcStack_dc;\n          ppppcVar26 = ppppcStack_c8;\n          if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }\n          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);\n          pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);\nLAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }\n        }" ({ "{") (if_statement "if (pbStack_b4[8] == 0) {\n            unaff_s7 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\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 = ppppppcVar18[0x10];\n            *unaff_s7 = (code ****)0x0;\n            if (pppppppcStack_ec != (code *******)0xffffffff) {\n              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }\n          }" ({ "{") (expression_statement "unaff_s7 = ppppppcVar18[0x10];" (assignment_expression "unaff_s7 = ppppppcVar18[0x10]" (identifier "unaff_s7") (= "=") (subscript_expression "ppppppcVar18[0x10]" (identifier "ppppppcVar18") ([ "[") (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 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\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 + -0x7f44) + -0xb3c);\n              iVar11 = iStack_c4 + -2;\n              pcVar5 = pcStack_e4;\n              pppppppcStack_64 = pppppppcVar19;\n              do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);\n            }" ({ "{") (expression_statement "unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);" (assignment_expression "unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" (identifier "unaff_s5") (= "=") (cast_expression "(code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" (( "(") (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 + -0x7f44) + -0xb3c)" (( "(") (binary_expression "*(int *)(puStack_120 + -0x7f44) + -0xb3c" (pointer_expression "*(int *)(puStack_120 + -0x7f44)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7f44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7f44)" (( "(") (binary_expression "puStack_120 + -0x7f44" (identifier "puStack_120") (+ "+") (number_literal "-0x7f44")) () ")")))) (+ "+") (number_literal "-0xb3c")) () ")")))) (; ";")) (expression_statement "iVar11 = iStack_c4 + -2;" (assignment_expression "iVar11 = iStack_c4 + -2" (identifier "iVar11") (= "=") (binary_expression "iStack_c4 + -2" (identifier "iStack_c4") (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "pcVar5 = pcStack_e4;" (assignment_expression "pcVar5 = pcStack_e4" (identifier "pcVar5") (= "=") (identifier "pcStack_e4")) (; ";")) (expression_statement "pppppppcStack_64 = pppppppcVar19;" (assignment_expression "pppppppcStack_64 = pppppppcVar19" (identifier "pppppppcStack_64") (= "=") (identifier "pppppppcVar19")) (; ";")) (do_statement "do {\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              } while ((code *)((int)param_2 + iVar11) != pcVar6);" (do "do") (compound_statement "{\n                pcVar6 = pcVar5 + -2;\n                uVar21 = (uint)*(ushort *)pcVar5;\n                iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));\n                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);\n                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);\n                pcVar5 = pcVar6;\n                pppppppcVar19 = pppppppcStack_64;\n              }" ({ "{") (expression_statement "pcVar6 = pcVar5 + -2;" (assignment_expression "pcVar6 = pcVar5 + -2" (identifier "pcVar6") (= "=") (binary_expression "pcVar5 + -2" (identifier "pcVar5") (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "uVar21 = (uint)*(ushort *)pcVar5;" (assignment_expression "uVar21 = (uint)*(ushort *)pcVar5" (identifier "uVar21") (= "=") (binary_expression "(uint)*(ushort *)pcVar5" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)pcVar5" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar5")))) (; ";")) (expression_statement "iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21));" (assignment_expression "iVar15 = (**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21))" (identifier "iVar15") (= "=") (call_expression "(**(code **)(pbStack_b4 + 0x4c))\n                                   (pbStack_b4,(code *)((int)param_2 + uVar21))" (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 + uVar21))" (( "(") (identifier "pbStack_b4") (, ",") (cast_expression "(code *)((int)param_2 + uVar21)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + uVar21)" (( "(") (binary_expression "(int)param_2 + uVar21" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (identifier "uVar21")) () ")"))) () ")")))) (; ";")) (expression_statement "pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);" (assignment_expression "pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21)" (identifier "pppppppcVar32") (= "=") (cast_expression "(code *******)(iVar15 + -1 + uVar21)" (( "(") (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 "(iVar15 + -1 + uVar21)" (( "(") (binary_expression "iVar15 + -1 + uVar21" (binary_expression "iVar15 + -1" (identifier "iVar15") (+ "+") (number_literal "-1")) (+ "+") (identifier "uVar21")) () ")")))) (; ";")) (expression_statement "(*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);" (call_expression "(*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 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)pppppppcVar32 | uVar21 << 0x10)" (( "(") (identifier "unaff_s7") (, ",") (binary_expression "(uint)pppppppcVar32 | uVar21 << 0x10" (cast_expression "(uint)pppppppcVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar32")) (| "|") (binary_expression "uVar21 << 0x10" (identifier "uVar21") (<< "<<") (number_literal "0x10"))) () ")"))) (; ";")) (expression_statement "pcVar5 = pcVar6;" (assignment_expression "pcVar5 = pcVar6" (identifier "pcVar5") (= "=") (identifier "pcVar6")) (; ";")) (expression_statement "pppppppcVar19 = pppppppcStack_64;" (assignment_expression "pppppppcVar19 = pppppppcStack_64" (identifier "pppppppcVar19") (= "=") (identifier "pppppppcStack_64")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((code *)((int)param_2 + iVar11) != pcVar6)" (( "(") (binary_expression "(code *)((int)param_2 + iVar11) != pcVar6" (cast_expression "(code *)((int)param_2 + iVar11)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + iVar11)" (( "(") (binary_expression "(int)param_2 + iVar11" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (identifier "iVar11")) () ")"))) (!= "!=") (identifier "pcVar6")) () ")")) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);" (assignment_expression "uVar21 = (uint)*(ushort *)(pcStack_d4 + 1)" (identifier "uVar21") (= "=") (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 + -0x7f44);" (assignment_expression "unaff_s2 = *(code ********)(puStack_120 + -0x7f44)" (identifier "unaff_s2") (= "=") (pointer_expression "*(code ********)(puStack_120 + -0x7f44)" (* "*") (cast_expression "(code ********)(puStack_120 + -0x7f44)" (( "(") (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 + -0x7f44)" (( "(") (binary_expression "puStack_120 + -0x7f44" (identifier "puStack_120") (+ "+") (number_literal "-0x7f44")) () ")"))))) (; ";")) (if_statement "if (uVar21 != 0) {\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }" (if "if") (parenthesized_expression "(uVar21 != 0)" (( "(") (binary_expression "uVar21 != 0" (identifier "uVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            unaff_s2 = unaff_s2 + -0x2cf;\n            pppppppcVar9 = unaff_s2;\n            do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);\n          }" ({ "{") (expression_statement "unaff_s2 = unaff_s2 + -0x2cf;" (assignment_expression "unaff_s2 = unaff_s2 + -0x2cf" (identifier "unaff_s2") (= "=") (binary_expression "unaff_s2 + -0x2cf" (identifier "unaff_s2") (+ "+") (number_literal "-0x2cf"))) (; ";")) (expression_statement "pppppppcVar9 = unaff_s2;" (assignment_expression "pppppppcVar9 = unaff_s2" (identifier "pppppppcVar9") (= "=") (identifier "unaff_s2")) (; ";")) (do_statement "do {\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            } while (uVar21 != 0);" (do "do") (compound_statement "{\n              pcVar5 = (code *)((int)param_2 + uVar21);\n              (*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);\n              uVar21 = (uint)*(ushort *)pcVar5;\n            }" ({ "{") (expression_statement "pcVar5 = (code *)((int)param_2 + uVar21);" (assignment_expression "pcVar5 = (code *)((int)param_2 + uVar21)" (identifier "pcVar5") (= "=") (cast_expression "(code *)((int)param_2 + uVar21)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + uVar21)" (( "(") (binary_expression "(int)param_2 + uVar21" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (identifier "uVar21")) () ")")))) (; ";")) (expression_statement "(*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);" (call_expression "(*(code *)pppppppcVar9)\n                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10)" (parenthesized_expression "(*(code *)pppppppcVar9)" (( "(") (pointer_expression "*(code *)pppppppcVar9" (* "*") (cast_expression "(code *)pppppppcVar9" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppppcVar9"))) () ")")) (argument_list "(unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10)" (( "(") (identifier "unaff_s7") (, ",") (binary_expression "(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10" (binary_expression "(*(ushort *)(pcVar5 + 2) + uVar21) - 1" (parenthesized_expression "(*(ushort *)(pcVar5 + 2) + uVar21)" (( "(") (binary_expression "*(ushort *)(pcVar5 + 2) + uVar21" (pointer_expression "*(ushort *)(pcVar5 + 2)" (* "*") (cast_expression "(ushort *)(pcVar5 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 2)" (( "(") (binary_expression "pcVar5 + 2" (identifier "pcVar5") (+ "+") (number_literal "2")) () ")")))) (+ "+") (identifier "uVar21")) () ")")) (- "-") (number_literal "1")) (| "|") (binary_expression "uVar21 << 0x10" (identifier "uVar21") (<< "<<") (number_literal "0x10"))) () ")"))) (; ";")) (expression_statement "uVar21 = (uint)*(ushort *)pcVar5;" (assignment_expression "uVar21 = (uint)*(ushort *)pcVar5" (identifier "uVar21") (= "=") (binary_expression "(uint)*(ushort *)pcVar5" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)pcVar5" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar5")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar21 != 0)" (( "(") (binary_expression "uVar21 != 0" (identifier "uVar21") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "ppppcVar20 = *unaff_s7;" (assignment_expression "ppppcVar20 = *unaff_s7" (identifier "ppppcVar20") (= "=") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7"))) (; ";")) (expression_statement "pppppppcVar22 = pppppppcStack_dc;" (assignment_expression "pppppppcVar22 = pppppppcStack_dc" (identifier "pppppppcVar22") (= "=") (identifier "pppppppcStack_dc")) (; ";")) (expression_statement "ppppcVar26 = ppppcStack_c8;" (assignment_expression "ppppcVar26 = ppppcStack_c8" (identifier "ppppcVar26") (= "=") (identifier "ppppcStack_c8")) (; ";")) (if_statement "if (ppppcVar20 == (code ****)0x0) {\n            pppppppcVar22 = (code *******)0x0;\n          }\n          else {\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }" (if "if") (parenthesized_expression "(ppppcVar20 == (code ****)0x0)" (( "(") (binary_expression "ppppcVar20 == (code ****)0x0" (identifier "ppppcVar20") (== "==") (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            pppppppcVar22 = (code *******)0x0;\n          }" ({ "{") (expression_statement "pppppppcVar22 = (code *******)0x0;" (assignment_expression "pppppppcVar22 = (code *******)0x0" (identifier "pppppppcVar22") (= "=") (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              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }" (else "else") (compound_statement "{\n            do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);\n            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);\n          }" ({ "{") (do_statement "do {\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            } while (ppppcVar20 != (code ****)0x0);" (do "do") (compound_statement "{\n              ppppcVar25 = unaff_s7[1];\n              unaff_s7[1] = unaff_s7[(int)ppppcVar20];\n              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;\n              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);\n              *unaff_s7 = ppppcVar20;\n              if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }\n              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);\n              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);\n              if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }\n              pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);\n              ppppcVar26 = ppppcVar25;\n            }" ({ "{") (expression_statement "ppppcVar25 = unaff_s7[1];" (assignment_expression "ppppcVar25 = unaff_s7[1]" (identifier "ppppcVar25") (= "=") (subscript_expression "unaff_s7[1]" (identifier "unaff_s7") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "unaff_s7[1] = unaff_s7[(int)ppppcVar20];" (assignment_expression "unaff_s7[1] = unaff_s7[(int)ppppcVar20]" (subscript_expression "unaff_s7[1]" (identifier "unaff_s7") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "unaff_s7[(int)ppppcVar20]" (identifier "unaff_s7") ([ "[") (cast_expression "(int)ppppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar20")) (] "]"))) (; ";")) (expression_statement "unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;" (assignment_expression "unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff" (subscript_expression "unaff_s7[(int)ppppcVar20]" (identifier "unaff_s7") ([ "[") (cast_expression "(int)ppppcVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar20")) (] "]")) (= "=") (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 "ppppcVar20 = (code ****)((int)*unaff_s7 - 1);" (assignment_expression "ppppcVar20 = (code ****)((int)*unaff_s7 - 1)" (identifier "ppppcVar20") (= "=") (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 = ppppcVar20;" (assignment_expression "*unaff_s7 = ppppcVar20" (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7")) (= "=") (identifier "ppppcVar20")) (; ";")) (if_statement "if ((code ****)0x1 < ppppcVar20) {\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\n              }" (if "if") (parenthesized_expression "((code ****)0x1 < ppppcVar20)" (( "(") (binary_expression "(code ****)0x1 < ppppcVar20" (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 "ppppcVar20")) () ")")) (compound_statement "{\n                ppppcVar27 = unaff_s7[1];\n                ppppcVar24 = (code ****)0x2;\n                ppppcVar10 = (code ****)0x1;\n                do {\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);\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 "ppppcVar24 = (code ****)0x2;" (assignment_expression "ppppcVar24 = (code ****)0x2" (identifier "ppppcVar24") (= "=") (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 "ppppcVar10 = (code ****)0x1;" (assignment_expression "ppppcVar10 = (code ****)0x1" (identifier "ppppcVar10") (= "=") (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                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                } while (ppppcVar24 <= ppppcVar20);" (do "do") (compound_statement "{\n                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);\n                  ppppcVar14 = *pppppcVar12;\n                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);\n                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }\n                  if (ppppcVar27 < ppppcVar14) break;\n                  unaff_s7[(int)ppppcVar10] = ppppcVar14;\n                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);\n                  *pppppcVar12 = ppppcVar27;\n                  ppppcVar20 = *unaff_s7;\n                  ppppcVar10 = ppppcVar16;\n                }" ({ "{") (expression_statement "pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);" (assignment_expression "pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U)" (identifier "pppppcVar12") (= "=") (binary_expression "unaff_s7 + (int)((int)ppppcVar24 + 1U)" (identifier "unaff_s7") (+ "+") (cast_expression "(int)((int)ppppcVar24 + 1U)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)ppppcVar24 + 1U)" (( "(") (binary_expression "(int)ppppcVar24 + 1U" (cast_expression "(int)ppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar24")) (+ "+") (number_literal "1U")) () ")"))))) (; ";")) (expression_statement "ppppcVar14 = *pppppcVar12;" (assignment_expression "ppppcVar14 = *pppppcVar12" (identifier "ppppcVar14") (= "=") (pointer_expression "*pppppcVar12" (* "*") (identifier "pppppcVar12"))) (; ";")) (expression_statement "ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);" (assignment_expression "ppppcVar16 = (code ****)((int)ppppcVar24 + 1U)" (identifier "ppppcVar16") (= "=") (cast_expression "(code ****)((int)ppppcVar24 + 1U)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppcVar24 + 1U)" (( "(") (binary_expression "(int)ppppcVar24 + 1U" (cast_expression "(int)ppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar24")) (+ "+") (number_literal "1U")) () ")")))) (; ";")) (if_statement "if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }" (if "if") (parenthesized_expression "(unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14)" (( "(") (binary_expression "unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14" (subscript_expression "unaff_s7[(int)ppppcVar10 * 2]" (identifier "unaff_s7") ([ "[") (binary_expression "(int)ppppcVar10 * 2" (cast_expression "(int)ppppcVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar10")) (* "*") (number_literal "2")) (] "]")) (<= "<=") (identifier "ppppcVar14")) () ")")) (compound_statement "{\n                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;\n                    ppppcVar14 = *pppppcVar12;\n                    ppppcVar16 = ppppcVar24;\n                  }" ({ "{") (expression_statement "pppppcVar12 = unaff_s7 + (int)ppppcVar24;" (assignment_expression "pppppcVar12 = unaff_s7 + (int)ppppcVar24" (identifier "pppppcVar12") (= "=") (binary_expression "unaff_s7 + (int)ppppcVar24" (identifier "unaff_s7") (+ "+") (cast_expression "(int)ppppcVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar24")))) (; ";")) (expression_statement "ppppcVar14 = *pppppcVar12;" (assignment_expression "ppppcVar14 = *pppppcVar12" (identifier "ppppcVar14") (= "=") (pointer_expression "*pppppcVar12" (* "*") (identifier "pppppcVar12"))) (; ";")) (expression_statement "ppppcVar16 = ppppcVar24;" (assignment_expression "ppppcVar16 = ppppcVar24" (identifier "ppppcVar16") (= "=") (identifier "ppppcVar24")) (; ";")) (} "}"))) (if_statement "if (ppppcVar27 < ppppcVar14) break;" (if "if") (parenthesized_expression "(ppppcVar27 < ppppcVar14)" (( "(") (binary_expression "ppppcVar27 < ppppcVar14" (identifier "ppppcVar27") (< "<") (identifier "ppppcVar14")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "unaff_s7[(int)ppppcVar10] = ppppcVar14;" (assignment_expression "unaff_s7[(int)ppppcVar10] = ppppcVar14" (subscript_expression "unaff_s7[(int)ppppcVar10]" (identifier "unaff_s7") ([ "[") (cast_expression "(int)ppppcVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar10")) (] "]")) (= "=") (identifier "ppppcVar14")) (; ";")) (expression_statement "ppppcVar24 = (code ****)((int)ppppcVar16 << 1);" (assignment_expression "ppppcVar24 = (code ****)((int)ppppcVar16 << 1)" (identifier "ppppcVar24") (= "=") (cast_expression "(code ****)((int)ppppcVar16 << 1)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppcVar16 << 1)" (( "(") (binary_expression "(int)ppppcVar16 << 1" (cast_expression "(int)ppppcVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar16")) (<< "<<") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*pppppcVar12 = ppppcVar27;" (assignment_expression "*pppppcVar12 = ppppcVar27" (pointer_expression "*pppppcVar12" (* "*") (identifier "pppppcVar12")) (= "=") (identifier "ppppcVar27")) (; ";")) (expression_statement "ppppcVar20 = *unaff_s7;" (assignment_expression "ppppcVar20 = *unaff_s7" (identifier "ppppcVar20") (= "=") (pointer_expression "*unaff_s7" (* "*") (identifier "unaff_s7"))) (; ";")) (expression_statement "ppppcVar10 = ppppcVar16;" (assignment_expression "ppppcVar10 = ppppcVar16" (identifier "ppppcVar10") (= "=") (identifier "ppppcVar16")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppcVar24 <= ppppcVar20)" (( "(") (binary_expression "ppppcVar24 <= ppppcVar20" (identifier "ppppcVar24") (<= "<=") (identifier "ppppcVar20")) () ")")) (; ";")) (} "}"))) (expression_statement "pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);" (assignment_expression "pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10)" (identifier "pppppppcVar9") (= "=") (cast_expression "(code *******)((uint)ppppcVar25 >> 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)ppppcVar25 >> 0x10)" (( "(") (binary_expression "(uint)ppppcVar25 >> 0x10" (cast_expression "(uint)ppppcVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppcVar25")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);" (assignment_expression "unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff)" (identifier "unaff_s2") (= "=") (cast_expression "(code *******)((uint)ppppcVar26 & 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)ppppcVar26 & 0xffff)" (( "(") (binary_expression "(uint)ppppcVar26 & 0xffff" (cast_expression "(uint)ppppcVar26" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppcVar26")) (& "&") (number_literal "0xffff")) () ")")))) (; ";")) (if_statement "if (pppppppcVar9 <= unaff_s2) {\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }" (if "if") (parenthesized_expression "(pppppppcVar9 <= unaff_s2)" (( "(") (binary_expression "pppppppcVar9 <= unaff_s2" (identifier "pppppppcVar9") (<= "<=") (identifier "unaff_s2")) () ")")) (compound_statement "{\n                pppppppcStack_dc = pppppppcVar22;\n                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);\n                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;\n                pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);\n                goto LAB_00083e5c;\n              }" ({ "{") (expression_statement "pppppppcStack_dc = pppppppcVar22;" (assignment_expression "pppppppcStack_dc = pppppppcVar22" (identifier "pppppppcStack_dc") (= "=") (identifier "pppppppcVar22")) (; ";")) (expression_statement "FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19);" (call_expression "FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19)" (identifier "FUN_00083088") (argument_list "(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,\n                             pppppppcVar19)" (( "(") (identifier "ppppppcVar18") (, ",") (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x7720" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fbc)" (( "(") (binary_expression "puStack_120 + -0x7fbc" (identifier "puStack_120") (+ "+") (number_literal "-0x7fbc")) () ")")))) (+ "+") (number_literal "-0x7720")) (, ",") (identifier "pppppppcVar9") (, ",") (identifier "pppppppcVar19") () ")"))) (; ";")) (if_statement "if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;" (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_00083b8c;" (goto "goto") (statement_identifier "LAB_00083b8c") (; ";"))) (expression_statement "pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2);" (assignment_expression "pppppppcVar9 = (code *******)\n                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +\n                               -(int)unaff_s2)" (identifier "pppppppcVar9") (= "=") (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_00083e5c;" (goto "goto") (statement_identifier "LAB_00083e5c") (; ";")) (} "}"))) (expression_statement "pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);" (assignment_expression "pppppppcVar22 =\n                   (code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2)" (identifier "pppppppcVar22") (= "=") (cast_expression "(code *******)\n                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(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)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2)" (( "(") (binary_expression "(code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2" (binary_expression "(code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22" (cast_expression "(code *)((int)pppppppcVar9 + -1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppppcVar9 + -1)" (( "(") (binary_expression "(int)pppppppcVar9 + -1" (cast_expression "(int)pppppppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar9")) (+ "+") (number_literal "-1")) () ")"))) (+ "+") (cast_expression "(int)pppppppcVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar22"))) (+ "+") (unary_expression "-(int)unaff_s2" (- "-") (cast_expression "(int)unaff_s2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s2")))) () ")")))) (; ";")) (expression_statement "ppppcVar26 = ppppcVar25;" (assignment_expression "ppppcVar26 = ppppcVar25" (identifier "ppppcVar26") (= "=") (identifier "ppppcVar25")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppcVar20 != (code ****)0x0)" (( "(") (binary_expression "ppppcVar20 != (code ****)0x0" (identifier "ppppcVar20") (!= "!=") (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 "ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);" (assignment_expression "ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff)" (identifier "ppppcVar26") (= "=") (cast_expression "(code ****)((uint)ppppcVar25 & 0xffff)" (( "(") (type_descriptor "code ****" (type_identifier "code") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((uint)ppppcVar25 & 0xffff)" (( "(") (binary_expression "(uint)ppppcVar25 & 0xffff" (cast_expression "(uint)ppppcVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppcVar25")) (& "&") (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 "pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);" (assignment_expression "pppppppcVar9 = (code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26)" (identifier "pppppppcVar9") (= "=") (cast_expression "(code *******)\n                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26)" (( "(") (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)pppppppcVar22) + -(int)ppppcVar26)" (( "(") (binary_expression "(code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26" (cast_expression "(code *)((int)unaff_s7 + (int)pppppppcVar22)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + (int)pppppppcVar22)" (( "(") (binary_expression "(int)unaff_s7 + (int)pppppppcVar22" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (cast_expression "(int)pppppppcVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar22"))) () ")"))) (+ "+") (unary_expression "-(int)ppppcVar26" (- "-") (cast_expression "(int)ppppcVar26" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppcVar26")))) () ")")))) (; ";")) (labeled_statement "LAB_00083e5c:\n          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }" (statement_identifier "LAB_00083e5c") (: ":") (if_statement "if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }" (if "if") (parenthesized_expression "((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9)" (( "(") (binary_expression "(code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9" (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 "pppppppcVar9")) () ")")) (compound_statement "{\n            pppppppcStack_128 = pppppppcVar19;\n            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);\n          }" ({ "{") (expression_statement "pppppppcStack_128 = pppppppcVar19;" (assignment_expression "pppppppcStack_128 = pppppppcVar19" (identifier "pppppppcStack_128") (= "=") (identifier "pppppppcVar19")) (; ";")) (expression_statement "FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);" (call_expression "FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8)" (identifier "FUN_00083088") (argument_list "(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8)" (( "(") (identifier "ppppppcVar18") (, ",") (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x76f8" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fbc)" (( "(") (binary_expression "puStack_120 + -0x7fbc" (identifier "puStack_120") (+ "+") (number_literal "-0x7fbc")) () ")")))) (+ "+") (number_literal "-0x76f8")) () ")"))) (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" (else "else") (compound_statement "{\n        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);\n        iStack_fc = 1;\n        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);\n        iStack_cc = *(int *)(puStack_120 + -0x7fbc);\n        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);\n        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);\n        pcVar5 = pcStack_e4;\n        pppppppcStack_f8 = pppppppcVar32;\n        pppppcStack_e8 = unaff_s7;\n        pppppppcStack_d8 = param_3;\n        pppppppcStack_64 = pppppppcVar19;\n        do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));\n        iVar7 = iStack_108 + 1;\n        pppppppcStack_d8[1] = ppppppcStack_54;\n        *pppppppcStack_d8 = (code ******)local_58;\n        ppppppcVar18[7] = (code *****)0x0;\n        pppppppcVar19 = pppppppcStack_64;\n        pppppppcVar32 = pppppppcVar22;\n        unaff_s5 = pppppppcStack_d8;\n        unaff_s7 = pppppcStack_e8;\n        if (iStack_fc != 0) goto LAB_00083c5c;\n        *pbStack_b4 = (byte)uStack_f0;\n      }" ({ "{") (expression_statement "pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);" (assignment_expression "pppppppcVar13 = (code *******)(ppppppcStack_118 + -1)" (identifier "pppppppcVar13") (= "=") (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 + -0x7fbc);" (assignment_expression "iStack_f4 = *(int *)(puStack_120 + -0x7fbc)" (identifier "iStack_f4") (= "=") (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fbc)" (( "(") (binary_expression "puStack_120 + -0x7fbc" (identifier "puStack_120") (+ "+") (number_literal "-0x7fbc")) () ")"))))) (; ";")) (expression_statement "pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);" (assignment_expression "pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088)" (identifier "pcStack_100") (= "=") (cast_expression "(code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_120 + -0x7e98) + 0x3088)" (( "(") (binary_expression "*(int *)(puStack_120 + -0x7e98) + 0x3088" (pointer_expression "*(int *)(puStack_120 + -0x7e98)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7e98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7e98)" (( "(") (binary_expression "puStack_120 + -0x7e98" (identifier "puStack_120") (+ "+") (number_literal "-0x7e98")) () ")")))) (+ "+") (number_literal "0x3088")) () ")")))) (; ";")) (expression_statement "iStack_cc = *(int *)(puStack_120 + -0x7fbc);" (assignment_expression "iStack_cc = *(int *)(puStack_120 + -0x7fbc)" (identifier "iStack_cc") (= "=") (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fbc)" (( "(") (binary_expression "puStack_120 + -0x7fbc" (identifier "puStack_120") (+ "+") (number_literal "-0x7fbc")) () ")"))))) (; ";")) (expression_statement "pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);" (assignment_expression "pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" (identifier "pcStack_d0") (= "=") (cast_expression "(code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_120 + -0x7f44) + -0xb3c)" (( "(") (binary_expression "*(int *)(puStack_120 + -0x7f44) + -0xb3c" (pointer_expression "*(int *)(puStack_120 + -0x7f44)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7f44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7f44)" (( "(") (binary_expression "puStack_120 + -0x7f44" (identifier "puStack_120") (+ "+") (number_literal "-0x7f44")) () ")")))) (+ "+") (number_literal "-0xb3c")) () ")")))) (; ";")) (expression_statement "pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);" (assignment_expression "pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc)" (identifier "pcStack_e0") (= "=") (cast_expression "(code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_120 + -0x7e98) + 0x36fc)" (( "(") (binary_expression "*(int *)(puStack_120 + -0x7e98) + 0x36fc" (pointer_expression "*(int *)(puStack_120 + -0x7e98)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7e98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7e98)" (( "(") (binary_expression "puStack_120 + -0x7e98" (identifier "puStack_120") (+ "+") (number_literal "-0x7e98")) () ")")))) (+ "+") (number_literal "0x36fc")) () ")")))) (; ";")) (expression_statement "pcVar5 = pcStack_e4;" (assignment_expression "pcVar5 = pcStack_e4" (identifier "pcVar5") (= "=") (identifier "pcStack_e4")) (; ";")) (expression_statement "pppppppcStack_f8 = pppppppcVar32;" (assignment_expression "pppppppcStack_f8 = pppppppcVar32" (identifier "pppppppcStack_f8") (= "=") (identifier "pppppppcVar32")) (; ";")) (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 = pppppppcVar19;" (assignment_expression "pppppppcStack_64 = pppppppcVar19" (identifier "pppppppcStack_64") (= "=") (identifier "pppppppcVar19")) (; ";")) (do_statement "do {\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        } while ((unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));" (do "do") (compound_statement "{\n          ppppppcVar18[9] = (code *****)unaff_s2;\n          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;\n          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }\n          unaff_s2 = (code *******)((int)unaff_s2 + -1);\n        }" ({ "{") (expression_statement "ppppppcVar18[9] = (code *****)unaff_s2;" (assignment_expression "ppppppcVar18[9] = (code *****)unaff_s2" (subscript_expression "ppppppcVar18[9]" (identifier "ppppppcVar18") ([ "[") (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 "pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;" (assignment_expression "pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5" (identifier "pppppppcVar19") (= "=") (binary_expression "(code *******)(uint)*(ushort *)pcVar5" (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 *)pcVar5" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar5")))) (; ";")) (if_statement "if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }\n          else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }" (if "if") (parenthesized_expression "((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19))" (( "(") (binary_expression "(pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)" (parenthesized_expression "(pppppppcVar19 < pppppppcVar22)" (( "(") (binary_expression "pppppppcVar19 < pppppppcVar22" (identifier "pppppppcVar19") (< "<") (identifier "pppppppcVar22")) () ")")) (|| "||") (parenthesized_expression "(pppppppcVar13 < pppppppcVar19)" (( "(") (binary_expression "pppppppcVar13 < pppppppcVar19" (identifier "pppppppcVar13") (< "<") (identifier "pppppppcVar19")) () ")"))) () ")")) (compound_statement "{\n            pppppppcStack_128 = pppppppcVar13;\n            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);\n            iStack_fc = 0;\n            pppppppcVar9 = pppppppcVar19;\n          }" ({ "{") (expression_statement "pppppppcStack_128 = pppppppcVar13;" (assignment_expression "pppppppcStack_128 = pppppppcVar13" (identifier "pppppppcStack_128") (= "=") (identifier "pppppppcVar13")) (; ";")) (expression_statement "(*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);" (call_expression "(*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22)" (parenthesized_expression "(*pcStack_100)" (( "(") (pointer_expression "*pcStack_100" (* "*") (identifier "pcStack_100")) () ")")) (argument_list "(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22)" (( "(") (identifier "ppppppcVar18") (, ",") (binary_expression "iStack_f4 + -0x778c" (identifier "iStack_f4") (+ "+") (number_literal "-0x778c")) (, ",") (identifier "pppppppcVar19") (, ",") (identifier "pppppppcVar22") () ")"))) (; ";")) (expression_statement "iStack_fc = 0;" (assignment_expression "iStack_fc = 0" (identifier "iStack_fc") (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppppcVar9 = pppppppcVar19;" (assignment_expression "pppppppcVar9 = pppppppcVar19" (identifier "pppppppcVar9") (= "=") (identifier "pppppppcVar19")) (; ";")) (} "}")) (else_clause "else {\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }" (else "else") (compound_statement "{\n            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);\n            pppppppcVar9 = (code *******)&pppppppcStack_b0;\n            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);\n            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }\n          }" ({ "{") (expression_statement "pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);" (assignment_expression "pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19)" (identifier "pcVar6") (= "=") (cast_expression "(code *)((int)param_2 + (int)pppppppcVar19)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + (int)pppppppcVar19)" (( "(") (binary_expression "(int)param_2 + (int)pppppppcVar19" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (cast_expression "(int)pppppppcVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar19"))) () ")")))) (; ";")) (expression_statement "pppppppcVar9 = (code *******)&pppppppcStack_b0;" (assignment_expression "pppppppcVar9 = (code *******)&pppppppcStack_b0" (identifier "pppppppcVar9") (= "=") (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,pcVar6);" (call_expression "(**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6)" (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,pcVar6)" (( "(") (identifier "pbStack_b4") (, ",") (identifier "pcVar6") () ")"))) (; ";")) (if_statement "if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }\n            else {\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }" (if "if") (parenthesized_expression "(ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e))" (( "(") (binary_expression "ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)" (identifier "ppppppcStack_118") (< "<") (cast_expression "(code ******)((int)pppppppcVar19 + (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)pppppppcVar19 + (uint)uStack_9e)" (( "(") (binary_expression "(int)pppppppcVar19 + (uint)uStack_9e" (cast_expression "(int)pppppppcVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar19")) (+ "+") (cast_expression "(uint)uStack_9e" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uStack_9e"))) () ")")))) () ")")) (compound_statement "{\n              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);\n              iStack_fc = 0;\n            }" ({ "{") (expression_statement "(*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);" (call_expression "(*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c)" (parenthesized_expression "(*pcStack_100)" (( "(") (pointer_expression "*pcStack_100" (* "*") (identifier "pcStack_100")) () ")")) (argument_list "(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c)" (( "(") (identifier "ppppppcVar18") (, ",") (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x776c" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fbc)" (( "(") (binary_expression "puStack_120 + -0x7fbc" (identifier "puStack_120") (+ "+") (number_literal "-0x7fbc")) () ")")))) (+ "+") (number_literal "-0x776c")) () ")"))) (; ";")) (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                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }" (else "else") (compound_statement "{\n              if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }\n              if (uStack_a0 < uStack_a4) {\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }\n              if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }\n            }" ({ "{") (if_statement "if (pbStack_b4[2] != 0) {\n                if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\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                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }\n                if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }\n                iStack_104 = 0;\n                local_58 = pppppppcStack_b0;\n                ppppppcStack_54 = ppppppcStack_ac;\n              }" ({ "{") (if_statement "if (iStack_104 == 0) {\n                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }\n                else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = 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                  bVar3 = true;\n                  if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = false;\n                  }\n                }" ({ "{") (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (if_statement "if (((int)pppppppcStack_b0 < (int)local_58) ||\n                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {\nLAB_00083eb0:\n                    bVar3 = 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_00083eb0:\n                    bVar3 = false;\n                  }" ({ "{") (labeled_statement "LAB_00083eb0:\n                    bVar3 = false;" (statement_identifier "LAB_00083eb0") (: ":") (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }" (else "else") (compound_statement "{\n                  bVar3 = true;\n                  if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }\n                }" ({ "{") (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (if_statement "if ((int)pppppppcStack_b0 <= (int)local_58) {\n                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = 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_00083eb0;\n                    if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = false;\n                    }\n                  }" ({ "{") (if_statement "if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;" (if "if") (parenthesized_expression "(pppppppcStack_b0 != local_58)" (( "(") (binary_expression "pppppppcStack_b0 != local_58" (identifier "pppppppcStack_b0") (!= "!=") (identifier "local_58")) () ")")) (goto_statement "goto LAB_00083eb0;" (goto "goto") (statement_identifier "LAB_00083eb0") (; ";"))) (if_statement "if (ppppppcStack_ac <= ppppppcStack_54) {\n                      bVar3 = 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                      bVar3 = false;\n                    }" ({ "{") (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (} "}"))) (} "}"))) (} "}")))) (if_statement "if (bVar3) {\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }" (if "if") (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")")) (compound_statement "{\n                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);\n                }" ({ "{") (expression_statement "(*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);" (call_expression "(*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754)" (parenthesized_expression "(*pcStack_100)" (( "(") (pointer_expression "*pcStack_100" (* "*") (identifier "pcStack_100")) () ")")) (argument_list "(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754)" (( "(") (identifier "ppppppcVar18") (, ",") (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x7754" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fbc)" (( "(") (binary_expression "puStack_120 + -0x7fbc" (identifier "puStack_120") (+ "+") (number_literal "-0x7fbc")) () ")")))) (+ "+") (number_literal "-0x7754")) () ")"))) (; ";")) (} "}"))) (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                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }" (if "if") (parenthesized_expression "(uStack_a0 < uStack_a4)" (( "(") (binary_expression "uStack_a0 < uStack_a4" (identifier "uStack_a0") (< "<") (identifier "uStack_a4")) () ")")) (compound_statement "{\n                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));\n                if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }\n                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }\n                FUN_00083390(ppppppcVar18,0,uVar38,uVar21);\n              }" ({ "{") (expression_statement "uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));" (assignment_expression "uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4))" (identifier "uVar38") (= "=") (pointer_expression "*(undefined4 *)(pcVar6 + (uStack_9e - 4))" (* "*") (cast_expression "(undefined4 *)(pcVar6 + (uStack_9e - 4))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar6 + (uStack_9e - 4))" (( "(") (binary_expression "pcVar6 + (uStack_9e - 4)" (identifier "pcVar6") (+ "+") (parenthesized_expression "(uStack_9e - 4)" (( "(") (binary_expression "uStack_9e - 4" (identifier "uStack_9e") (- "-") (number_literal "4")) () ")"))) () ")"))))) (; ";")) (if_statement "if (pppppppcVar13 == (code *******)0x0) {\n                  trap(7);\n                }" (if "if") (parenthesized_expression "(pppppppcVar13 == (code *******)0x0)" (( "(") (binary_expression "pppppppcVar13 == (code *******)0x0" (identifier "pppppppcVar13") (== "==") (cast_expression "(code *******)0x0" (( "(") (type_descriptor "code *******" (type_identifier "code") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  trap(7);\n                }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13;" (assignment_expression "uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13" (identifier "uVar21") (= "=") (binary_expression "(uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /\n                         (uint)pppppppcVar13" (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)pppppppcVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppppcVar13")))) (; ";")) (if_statement "if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  uStack_c0 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = 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 = uVar38;\n                  uStack_bc = uVar21;\n                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);\n                  uVar21 = uStack_bc;\n                  uVar38 = uStack_c0;\n                }" ({ "{") (expression_statement "uStack_c0 = uVar38;" (assignment_expression "uStack_c0 = uVar38" (identifier "uStack_c0") (= "=") (identifier "uVar38")) (; ";")) (expression_statement "uStack_bc = uVar21;" (assignment_expression "uStack_bc = uVar21" (identifier "uStack_bc") (= "=") (identifier "uVar21")) (; ";")) (expression_statement "FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);" (call_expression "FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64)" (identifier "FUN_00083248") (argument_list "(ppppppcVar18,uVar38,3,pppppppcStack_64)" (( "(") (identifier "ppppppcVar18") (, ",") (identifier "uVar38") (, ",") (number_literal "3") (, ",") (identifier "pppppppcStack_64") () ")"))) (; ";")) (expression_statement "uVar21 = uStack_bc;" (assignment_expression "uVar21 = uStack_bc" (identifier "uVar21") (= "=") (identifier "uStack_bc")) (; ";")) (expression_statement "uVar38 = uStack_c0;" (assignment_expression "uVar38 = uStack_c0" (identifier "uVar38") (= "=") (identifier "uStack_c0")) (; ";")) (} "}"))) (expression_statement "FUN_00083390(ppppppcVar18,0,uVar38,uVar21);" (call_expression "FUN_00083390(ppppppcVar18,0,uVar38,uVar21)" (identifier "FUN_00083390") (argument_list "(ppppppcVar18,0,uVar38,uVar21)" (( "(") (identifier "ppppppcVar18") (, ",") (number_literal "0") (, ",") (identifier "uVar38") (, ",") (identifier "uVar21") () ")"))) (; ";")) (} "}"))) (if_statement "if (pbStack_b4[8] == 0) {\n                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }\n              else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 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                uVar38 = *(undefined4 *)pcVar6;\n                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }\n                pppppppcVar9 = (code *******)&local_58;\n                ppppppcStack_124 = ppppppcStack_54;\n                pppppppcStack_128 = local_58;\n                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);\n                if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }\n              }" ({ "{") (expression_statement "uVar38 = *(undefined4 *)pcVar6;" (assignment_expression "uVar38 = *(undefined4 *)pcVar6" (identifier "uVar38") (= "=") (pointer_expression "*(undefined4 *)pcVar6" (* "*") (cast_expression "(undefined4 *)pcVar6" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar6")))) (; ";")) (if_statement "if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {\n                  FUN_00083248(ppppppcVar18,uVar38,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_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);\n                }" ({ "{") (expression_statement "FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);" (call_expression "FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64)" (identifier "FUN_00083248") (argument_list "(ppppppcVar18,uVar38,5,pppppppcStack_64)" (( "(") (identifier "ppppppcVar18") (, ",") (identifier "uVar38") (, ",") (number_literal "5") (, ",") (identifier "pppppppcStack_64") () ")"))) (; ";")) (} "}"))) (expression_statement "pppppppcVar9 = (code *******)&local_58;" (assignment_expression "pppppppcVar9 = (code *******)&local_58" (identifier "pppppppcVar9") (= "=") (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 "iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);" (assignment_expression "iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38)" (identifier "iVar7") (= "=") (call_expression "(*pcStack_e0)(ppppppcVar18,uVar38)" (parenthesized_expression "(*pcStack_e0)" (( "(") (pointer_expression "*pcStack_e0" (* "*") (identifier "pcStack_e0")) () ")")) (argument_list "(ppppppcVar18,uVar38)" (( "(") (identifier "ppppppcVar18") (, ",") (identifier "uVar38") () ")")))) (; ";")) (if_statement "if (iVar7 == iStack_108) {\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }\n                else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }" (if "if") (parenthesized_expression "(iVar7 == iStack_108)" (( "(") (binary_expression "iVar7 == iStack_108" (identifier "iVar7") (== "==") (identifier "iStack_108")) () ")")) (compound_statement "{\n                  iStack_104 = 0;\n                  iStack_108 = iVar7;\n                }" ({ "{") (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" (identifier "iStack_104") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_108 = iVar7;" (assignment_expression "iStack_108 = iVar7" (identifier "iStack_108") (= "=") (identifier "iVar7")) (; ";")) (} "}")) (else_clause "else {\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }" (else "else") (compound_statement "{\n                  iStack_108 = iVar7;\n                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);\n                  iStack_104 = 0;\n                }" ({ "{") (expression_statement "iStack_108 = iVar7;" (assignment_expression "iStack_108 = iVar7" (identifier "iStack_108") (= "=") (identifier "iVar7")) (; ";")) (expression_statement "(*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);" (call_expression "(*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c)" (parenthesized_expression "(*pcStack_100)" (( "(") (pointer_expression "*pcStack_100" (* "*") (identifier "pcStack_100")) () ")")) (argument_list "(ppppppcVar18,iStack_cc + -0x773c)" (( "(") (identifier "ppppppcVar18") (, ",") (binary_expression "iStack_cc + -0x773c" (identifier "iStack_cc") (+ "+") (number_literal "-0x773c")) () ")"))) (; ";")) (expression_statement "iStack_104 = 0;" (assignment_expression "iStack_104 = 0" (identifier "iStack_104") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }" (else "else") (compound_statement "{\n                pppppppcVar9 = (code *******)(uStack_9e - 1);\n                (*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);\n              }" ({ "{") (expression_statement "pppppppcVar9 = (code *******)(uStack_9e - 1);" (assignment_expression "pppppppcVar9 = (code *******)(uStack_9e - 1)" (identifier "pppppppcVar9") (= "=") (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)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10);" (call_expression "(*pcStack_d0)(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10)" (parenthesized_expression "(*pcStack_d0)" (( "(") (pointer_expression "*pcStack_d0" (* "*") (identifier "pcStack_d0")) () ")")) (argument_list "(pppppcStack_e8,\n                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10)" (( "(") (identifier "pppppcStack_e8") (, ",") (binary_expression "(uint)((int)pppppppcVar9 + (int)pppppppcVar19) |\n                              (int)pppppppcVar19 << 0x10" (call_expression "(uint)((int)pppppppcVar9 + (int)pppppppcVar19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)pppppppcVar9 + (int)pppppppcVar19)" (( "(") (binary_expression "(int)pppppppcVar9 + (int)pppppppcVar19" (cast_expression "(int)pppppppcVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar9")) (+ "+") (cast_expression "(int)pppppppcVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar19"))) () ")"))) (| "|") (binary_expression "(int)pppppppcVar19 << 0x10" (cast_expression "(int)pppppppcVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppcVar19")) (<< "<<") (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                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0))" (( "(") (binary_expression "(unaff_s2 != (code *******)0xffffffff) &&\n                (pcVar5 = pcVar5 + -2, ppppppcVar18[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 "(pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0)" (( "(") (comma_expression "pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0" (assignment_expression "pcVar5 = pcVar5 + -2" (identifier "pcVar5") (= "=") (binary_expression "pcVar5 + -2" (identifier "pcVar5") (+ "+") (number_literal "-2"))) (, ",") (binary_expression "ppppppcVar18[4] != (code *****)0x0" (subscript_expression "ppppppcVar18[4]" (identifier "ppppppcVar18") ([ "[") (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 "iVar7 = iStack_108 + 1;" (assignment_expression "iVar7 = iStack_108 + 1" (identifier "iVar7") (= "=") (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 "ppppppcVar18[7] = (code *****)0x0;" (assignment_expression "ppppppcVar18[7] = (code *****)0x0" (subscript_expression "ppppppcVar18[7]" (identifier "ppppppcVar18") ([ "[") (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 "pppppppcVar19 = pppppppcStack_64;" (assignment_expression "pppppppcVar19 = pppppppcStack_64" (identifier "pppppppcVar19") (= "=") (identifier "pppppppcStack_64")) (; ";")) (expression_statement "pppppppcVar32 = pppppppcVar22;" (assignment_expression "pppppppcVar32 = pppppppcVar22" (identifier "pppppppcVar32") (= "=") (identifier "pppppppcVar22")) (; ";")) (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_00083c5c;" (if "if") (parenthesized_expression "(iStack_fc != 0)" (( "(") (binary_expression "iStack_fc != 0" (identifier "iStack_fc") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00083c5c;" (goto "goto") (statement_identifier "LAB_00083c5c") (; ";"))) (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      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }" (else "else") (compound_statement "{\n      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;\nLAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);\n      iVar7 = 0;\n    }" ({ "{") (expression_statement "iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;" (assignment_expression "iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814" (identifier "iVar7") (= "=") (binary_expression "*(int *)(puStack_120 + -0x7fbc) + -0x7814" (pointer_expression "*(int *)(puStack_120 + -0x7fbc)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7fbc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7fbc)" (( "(") (binary_expression "puStack_120 + -0x7fbc" (identifier "puStack_120") (+ "+") (number_literal "-0x7fbc")) () ")")))) (+ "+") (number_literal "-0x7814"))) (; ";")) (labeled_statement "LAB_00083b74:\n      FUN_00083088(ppppppcVar18,iVar7);" (statement_identifier "LAB_00083b74") (: ":") (expression_statement "FUN_00083088(ppppppcVar18,iVar7);" (call_expression "FUN_00083088(ppppppcVar18,iVar7)" (identifier "FUN_00083088") (argument_list "(ppppppcVar18,iVar7)" (( "(") (identifier "ppppppcVar18") (, ",") (identifier "iVar7") () ")"))) (; ";"))) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (} "}")))) (labeled_statement "LAB_00083b8c:\n    if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" (statement_identifier "LAB_00083b8c") (: ":") (if_statement "if (pbStack_b4 != (byte *)0x0) {\n      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(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 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));\n    }" ({ "{") (expression_statement "(*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));" (call_expression "(*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48))" (parenthesized_expression "(*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))" (( "(") (pointer_expression "*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c)" (* "*") (cast_expression "(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_120 + -0x7f44) + -0x138c)" (( "(") (binary_expression "*(int *)(puStack_120 + -0x7f44) + -0x138c" (pointer_expression "*(int *)(puStack_120 + -0x7f44)" (* "*") (cast_expression "(int *)(puStack_120 + -0x7f44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_120 + -0x7f44)" (( "(") (binary_expression "puStack_120 + -0x7f44" (identifier "puStack_120") (+ "+") (number_literal "-0x7f44")) () ")")))) (+ "+") (number_literal "-0x138c")) () ")")))) () ")")) (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 "ppppppcVar18[7] = pppppcStack_114;" (assignment_expression "ppppppcVar18[7] = pppppcStack_114" (subscript_expression "ppppppcVar18[7]" (identifier "ppppppcVar18") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "pppppcStack_114")) (; ";")) (expression_statement "ppppppcVar18[8] = pppppcStack_110;" (assignment_expression "ppppppcVar18[8] = pppppcStack_110" (subscript_expression "ppppppcVar18[8]" (identifier "ppppppcVar18") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "pppppcStack_110")) (; ";")) (expression_statement "ppppppcVar18[9] = pppppcStack_10c;" (assignment_expression "ppppppcVar18[9] = pppppcStack_10c" (subscript_expression "ppppppcVar18[9]" (identifier "ppppppcVar18") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "pppppcStack_10c")) (; ";")) (} "}")))) (if_statement "if (ppppppcStack_94 == (code ******)*puVar28) {\n    return iVar7;\n  }" (if "if") (parenthesized_expression "(ppppppcStack_94 == (code ******)*puVar28)" (( "(") (binary_expression "ppppppcStack_94 == (code ******)*puVar28" (identifier "ppppppcStack_94") (== "==") (cast_expression "(code ******)*puVar28" (( "(") (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 "*puVar28" (* "*") (identifier "puVar28")))) () ")")) (compound_statement "{\n    return iVar7;\n  }" ({ "{") (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (expression_statement "pcVar5 = *(code **)(puStack_120 + -0x7b9c);" (assignment_expression "pcVar5 = *(code **)(puStack_120 + -0x7b9c)" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)(puStack_120 + -0x7b9c)" (* "*") (cast_expression "(code **)(puStack_120 + -0x7b9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_120 + -0x7b9c)" (( "(") (binary_expression "puStack_120 + -0x7b9c" (identifier "puStack_120") (+ "+") (number_literal "-0x7b9c")) () ")"))))) (; ";")) (expression_statement "uVar38 = 0x84008;" (assignment_expression "uVar38 = 0x84008" (identifier "uVar38") (= "=") (number_literal "0x84008")) (; ";")) (expression_statement "ppppppcVar17 = ppppppcStack_94;" (assignment_expression "ppppppcVar17 = ppppppcStack_94" (identifier "ppppppcVar17") (= "=") (identifier "ppppppcStack_94")) (; ";")) (expression_statement "(*pcVar5)();" (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar23 = (undefined4 *)&DAT_000001f8;" (assignment_expression "puVar23 = (undefined4 *)&DAT_000001f8" (identifier "puVar23") (= "=") (cast_expression "(undefined4 *)&DAT_000001f8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_000001f8" (& "&") (identifier "DAT_000001f8")))) (; ";")) (expression_statement "piVar33 = *(int **)(pcVar5 + 0xd8a28);" (assignment_expression "piVar33 = *(int **)(pcVar5 + 0xd8a28)" (identifier "piVar33") (= "=") (pointer_expression "*(int **)(pcVar5 + 0xd8a28)" (* "*") (cast_expression "(int **)(pcVar5 + 0xd8a28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd8a28)" (( "(") (binary_expression "pcVar5 + 0xd8a28" (identifier "pcVar5") (+ "+") (number_literal "0xd8a28")) () ")"))))) (; ";")) (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 "iStack_164 = *piVar33;" (assignment_expression "iStack_164 = *piVar33" (identifier "iStack_164") (= "=") (pointer_expression "*piVar33" (* "*") (identifier "piVar33"))) (; ";")) (expression_statement "puStack_160 = puVar28;" (assignment_expression "puStack_160 = puVar28" (identifier "puStack_160") (= "=") (identifier "puVar28")) (; ";")) (expression_statement "pppppppcStack_15c = pppppppcVar19;" (assignment_expression "pppppppcStack_15c = pppppppcVar19" (identifier "pppppppcStack_15c") (= "=") (identifier "pppppppcVar19")) (; ";")) (expression_statement "pppppppcStack_158 = unaff_s2;" (assignment_expression "pppppppcStack_158 = unaff_s2" (identifier "pppppppcStack_158") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "iStack_154 = iVar7;" (assignment_expression "iStack_154 = iVar7" (identifier "iStack_154") (= "=") (identifier "iVar7")) (; ";")) (expression_statement "pppppppcStack_150 = pppppppcVar32;" (assignment_expression "pppppppcStack_150 = pppppppcVar32" (identifier "pppppppcStack_150") (= "=") (identifier "pppppppcVar32")) (; ";")) (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 = ppppppcVar18;" (assignment_expression "ppppppcStack_140 = ppppppcVar18" (identifier "ppppppcStack_140") (= "=") (identifier "ppppppcVar18")) (; ";")) (expression_statement "uStack_13c = uVar38;" (assignment_expression "uStack_13c = uVar38" (identifier "uStack_13c") (= "=") (identifier "uVar38")) (; ";")) (expression_statement "(**(code **)(pcVar5 + 0xd89b0))(auStack_360);" (call_expression "(**(code **)(pcVar5 + 0xd89b0))(auStack_360)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd89b0))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd89b0)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd89b0)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd89b0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd89b0)" (( "(") (binary_expression "pcVar5 + 0xd89b0" (identifier "pcVar5") (+ "+") (number_literal "0xd89b0")) () ")"))))) () ")")) (argument_list "(auStack_360)" (( "(") (identifier "auStack_360") () ")"))) (; ";")) (expression_statement "ppppppcVar18 = *pppppppcVar9;" (assignment_expression "ppppppcVar18 = *pppppppcVar9" (identifier "ppppppcVar18") (= "=") (pointer_expression "*pppppppcVar9" (* "*") (identifier "pppppppcVar9"))) (; ";")) (expression_statement "bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18);" (assignment_expression "bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18)" (identifier "bStack_34c") (= "=") (call_expression "(**(code **)(pcVar5 + 0xd8730))(ppppppcVar18)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8730))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd8730)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd8730)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd8730)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd8730)" (( "(") (binary_expression "pcVar5 + 0xd8730" (identifier "pcVar5") (+ "+") (number_literal "0xd8730")) () ")"))))) () ")")) (argument_list "(ppppppcVar18)" (( "(") (identifier "ppppppcVar18") () ")")))) (; ";")) (if_statement "if (bStack_34c - 1 < 5) {\n    bStack_34b = bStack_34c << 1;\n    bStack_349 = (bStack_34c + 1) * '\b';\n    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);\n    ppppppcVar18 = pppppppcVar9[1];\n    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);\n    if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(bStack_34c - 1 < 5)" (( "(") (binary_expression "bStack_34c - 1 < 5" (binary_expression "bStack_34c - 1" (identifier "bStack_34c") (- "-") (number_literal "1")) (< "<") (number_literal "5")) () ")")) (compound_statement "{\n    bStack_34b = bStack_34c << 1;\n    bStack_349 = (bStack_34c + 1) * '\b';\n    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);\n    ppppppcVar18 = pppppppcVar9[1];\n    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);\n    if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }\n  }" ({ "{") (expression_statement "bStack_34b = bStack_34c << 1;" (assignment_expression "bStack_34b = bStack_34c << 1" (identifier "bStack_34b") (= "=") (binary_expression "bStack_34c << 1" (identifier "bStack_34c") (<< "<<") (number_literal "1"))) (; ";")) (expression_statement "bStack_349 = (bStack_34c + 1) * '\b';" (assignment_expression "bStack_349 = (bStack_34c + 1) * '\b'" (identifier "bStack_349") (= "=") (binary_expression "(bStack_34c + 1) * '\b'" (parenthesized_expression "(bStack_34c + 1)" (( "(") (binary_expression "bStack_34c + 1" (identifier "bStack_34c") (+ "+") (number_literal "1")) () ")")) (* "*") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'")))) (; ";")) (expression_statement "iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);" (assignment_expression "iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1])" (identifier "iStack_398") (= "=") (call_expression "(**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1])" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8628))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd8628)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd8628)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd8628)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd8628)" (( "(") (binary_expression "pcVar5 + 0xd8628" (identifier "pcVar5") (+ "+") (number_literal "0xd8628")) () ")"))))) () ")")) (argument_list "(pppppppcVar9[1])" (( "(") (subscript_expression "pppppppcVar9[1]" (identifier "pppppppcVar9") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (expression_statement "ppppppcVar18 = pppppppcVar9[1];" (assignment_expression "ppppppcVar18 = pppppppcVar9[1]" (identifier "ppppppcVar18") (= "=") (subscript_expression "pppppppcVar9[1]" (identifier "pppppppcVar9") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);" (assignment_expression "iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(pcVar5 + 0xd862c))(ppppppcVar18)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd862c))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd862c)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd862c)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd862c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd862c)" (( "(") (binary_expression "pcVar5 + 0xd862c" (identifier "pcVar5") (+ "+") (number_literal "0xd862c")) () ")"))))) () ")")) (argument_list "(ppppppcVar18)" (( "(") (identifier "ppppppcVar18") () ")")))) (; ";")) (if_statement "if (3 < iVar7) {\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }" (if "if") (parenthesized_expression "(3 < iVar7)" (( "(") (binary_expression "3 < iVar7" (number_literal "3") (< "<") (identifier "iVar7")) () ")")) (compound_statement "{\n      uVar21 = (uint)bStack_349;\n      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);\n      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }\n    }" ({ "{") (expression_statement "uVar21 = (uint)bStack_349;" (assignment_expression "uVar21 = (uint)bStack_349" (identifier "uVar21") (= "=") (cast_expression "(uint)bStack_349" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bStack_349"))) (; ";")) (expression_statement "ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);" (assignment_expression "ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3)" (identifier "ppppppcVar18") (= "=") (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) * uVar21) <= iVar7) {\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }" (if "if") (parenthesized_expression "((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7)" (( "(") (binary_expression "(int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7" (cast_expression "(int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21)" (( "(") (binary_expression "(int)((code ******)(uint)*(byte *)(iStack_398 + 3) +\n                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21" (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 "uVar21")) () ")"))) (<= "<=") (identifier "iVar7")) () ")")) (compound_statement "{\n        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);\n        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }\n        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);\n        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);\n        puVar23 = (undefined4 *)0xffffffff;\n        (**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));\n        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);\n        ppppppcVar18 = ppppppcVar17;\n      }" ({ "{") (expression_statement "uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);" (assignment_expression "uVar38 = (**(code **)(pcVar5 + 0xd881c))(0)" (identifier "uVar38") (= "=") (call_expression "(**(code **)(pcVar5 + 0xd881c))(0)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd881c))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd881c)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd881c)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd881c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd881c)" (( "(") (binary_expression "pcVar5 + 0xd881c" (identifier "pcVar5") (+ "+") (number_literal "0xd881c")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {\n          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,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          iVar7 = *(int *)(pcVar5 + 0xd85ec);\n          iVar11 = *(int *)(pcVar5 + 0xd86bc);\n          iVar31 = 0;\n          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);\n          iVar15 = *(int *)(pcVar5 + 0xd85e0);\n          iVar34 = *(int *)(pcVar5 + 0xd85ec);\n          iVar29 = *(int *)(pcVar5 + 0xd85ec);\n          while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }\n        }" ({ "{") (expression_statement "iVar7 = *(int *)(pcVar5 + 0xd85ec);" (assignment_expression "iVar7 = *(int *)(pcVar5 + 0xd85ec)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(pcVar5 + 0xd85ec)" (* "*") (cast_expression "(int *)(pcVar5 + 0xd85ec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 0xd85ec)" (( "(") (binary_expression "pcVar5 + 0xd85ec" (identifier "pcVar5") (+ "+") (number_literal "0xd85ec")) () ")"))))) (; ";")) (expression_statement "iVar11 = *(int *)(pcVar5 + 0xd86bc);" (assignment_expression "iVar11 = *(int *)(pcVar5 + 0xd86bc)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(pcVar5 + 0xd86bc)" (* "*") (cast_expression "(int *)(pcVar5 + 0xd86bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 0xd86bc)" (( "(") (binary_expression "pcVar5 + 0xd86bc" (identifier "pcVar5") (+ "+") (number_literal "0xd86bc")) () ")"))))) (; ";")) (expression_statement "iVar31 = 0;" (assignment_expression "iVar31 = 0" (identifier "iVar31") (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);" (call_expression "(*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0)" (parenthesized_expression "(*(code *)(iVar11 + -0x1554))" (( "(") (pointer_expression "*(code *)(iVar11 + -0x1554)" (* "*") (cast_expression "(code *)(iVar11 + -0x1554)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + -0x1554)" (( "(") (binary_expression "iVar11 + -0x1554" (identifier "iVar11") (+ "+") (number_literal "-0x1554")) () ")")))) () ")")) (argument_list "(auStack_360,&uStack_3b0,0)" (( "(") (identifier "auStack_360") (, ",") (pointer_expression "&uStack_3b0" (& "&") (identifier "uStack_3b0")) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar15 = *(int *)(pcVar5 + 0xd85e0);" (assignment_expression "iVar15 = *(int *)(pcVar5 + 0xd85e0)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(pcVar5 + 0xd85e0)" (* "*") (cast_expression "(int *)(pcVar5 + 0xd85e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 0xd85e0)" (( "(") (binary_expression "pcVar5 + 0xd85e0" (identifier "pcVar5") (+ "+") (number_literal "0xd85e0")) () ")"))))) (; ";")) (expression_statement "iVar34 = *(int *)(pcVar5 + 0xd85ec);" (assignment_expression "iVar34 = *(int *)(pcVar5 + 0xd85ec)" (identifier "iVar34") (= "=") (pointer_expression "*(int *)(pcVar5 + 0xd85ec)" (* "*") (cast_expression "(int *)(pcVar5 + 0xd85ec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 0xd85ec)" (( "(") (binary_expression "pcVar5 + 0xd85ec" (identifier "pcVar5") (+ "+") (number_literal "0xd85ec")) () ")"))))) (; ";")) (expression_statement "iVar29 = *(int *)(pcVar5 + 0xd85ec);" (assignment_expression "iVar29 = *(int *)(pcVar5 + 0xd85ec)" (identifier "iVar29") (= "=") (pointer_expression "*(int *)(pcVar5 + 0xd85ec)" (* "*") (cast_expression "(int *)(pcVar5 + 0xd85ec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 0xd85ec)" (( "(") (binary_expression "pcVar5 + 0xd85ec" (identifier "pcVar5") (+ "+") (number_literal "0xd85ec")) () ")"))))) (; ";")) (while_statement "while( true ) {\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);\n            if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }\n            iVar31 = iVar31 + 1;\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);\n            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;\n            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);\n            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);\n          }" ({ "{") (expression_statement "sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);" (call_expression "sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c)" (identifier "sqlite3_str_appendf") (argument_list "(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c)" (( "(") (identifier "uVar38") (, ",") (binary_expression "iVar34 + -0x76c4" (identifier "iVar34") (+ "+") (number_literal "-0x76c4")) (, ",") (identifier "uStack_390") (, ",") (identifier "uStack_38c") () ")"))) (; ";")) (if_statement "if (bStack_34b != 0) {\n              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (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              pfVar35 = afStack_388;\n              iVar37 = 0;\n              do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);\n            }" ({ "{") (expression_statement "pfVar35 = afStack_388;" (assignment_expression "pfVar35 = afStack_388" (identifier "pfVar35") (= "=") (identifier "afStack_388")) (; ";")) (expression_statement "iVar37 = 0;" (assignment_expression "iVar37 = 0" (identifier "iVar37") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              } while (iVar37 < (int)(uint)bStack_34b);" (do "do") (compound_statement "{\n                fVar39 = *pfVar35;\n                iVar37 = iVar37 + 1;\n                pfVar35 = pfVar35 + 1;\n                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));\n              }" ({ "{") (expression_statement "fVar39 = *pfVar35;" (assignment_expression "fVar39 = *pfVar35" (identifier "fVar39") (= "=") (pointer_expression "*pfVar35" (* "*") (identifier "pfVar35"))) (; ";")) (expression_statement "iVar37 = iVar37 + 1;" (assignment_expression "iVar37 = iVar37 + 1" (identifier "iVar37") (= "=") (binary_expression "iVar37 + 1" (identifier "iVar37") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pfVar35 = pfVar35 + 1;" (assignment_expression "pfVar35 = pfVar35 + 1" (identifier "pfVar35") (= "=") (binary_expression "pfVar35 + 1" (identifier "pfVar35") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0));" (call_expression "sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0))" (identifier "sqlite3_str_appendf") (argument_list "(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)\n                                    ,SUB84((double)fVar39,0))" (( "(") (identifier "uVar38") (, ",") (binary_expression "iVar29 + -0x76bc" (identifier "iVar29") (+ "+") (number_literal "-0x76bc")) (, ",") (cast_expression "(int)((ulonglong)(double)fVar39 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)(double)fVar39 >> 0x20)" (( "(") (binary_expression "(ulonglong)(double)fVar39 >> 0x20" (cast_expression "(ulonglong)(double)fVar39" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(double)fVar39" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar39"))) (>> ">>") (number_literal "0x20")) () ")"))) (, ",") (call_expression "SUB84((double)fVar39,0)" (identifier "SUB84") (argument_list "((double)fVar39,0)" (( "(") (cast_expression "(double)fVar39" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar39")) (, ",") (number_literal "0") () ")"))) () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar37 < (int)(uint)bStack_34b)" (( "(") (binary_expression "iVar37 < (int)(uint)bStack_34b" (identifier "iVar37") (< "<") (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 "iVar31 = iVar31 + 1;" (assignment_expression "iVar31 = iVar31 + 1" (identifier "iVar31") (= "=") (binary_expression "iVar31 + 1" (identifier "iVar31") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);" (call_expression "(**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd87bc))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd87bc)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd87bc)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd87bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd87bc)" (( "(") (binary_expression "pcVar5 + 0xd87bc" (identifier "pcVar5") (+ "+") (number_literal "0xd87bc")) () ")"))))) () ")")) (argument_list "(uVar38,iVar7 + -0x739c,1)" (( "(") (identifier "uVar38") (, ",") (binary_expression "iVar7 + -0x739c" (identifier "iVar7") (+ "+") (number_literal "-0x739c")) (, ",") (number_literal "1") () ")"))) (; ";")) (if_statement "if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31) break;" (if "if") (parenthesized_expression "((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31)" (( "(") (binary_expression "(int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=\n                iVar31" (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 "iVar31")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "(*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);" (call_expression "(*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390)" (parenthesized_expression "(*(code *)(iVar11 + -0x1554))" (( "(") (pointer_expression "*(code *)(iVar11 + -0x1554)" (* "*") (cast_expression "(code *)(iVar11 + -0x1554)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + -0x1554)" (( "(") (binary_expression "iVar11 + -0x1554" (identifier "iVar11") (+ "+") (number_literal "-0x1554")) () ")")))) () ")")) (argument_list "(auStack_360,&uStack_3b0,iVar31,&uStack_390)" (( "(") (identifier "auStack_360") (, ",") (pointer_expression "&uStack_3b0" (& "&") (identifier "uStack_3b0")) (, ",") (identifier "iVar31") (, ",") (pointer_expression "&uStack_390" (& "&") (identifier "uStack_390")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);" (call_expression "(**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd87bc))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd87bc)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd87bc)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd87bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd87bc)" (( "(") (binary_expression "pcVar5 + 0xd87bc" (identifier "pcVar5") (+ "+") (number_literal "0xd87bc")) () ")"))))) () ")")) (argument_list "(uVar38,iVar15 + 0x5dc8,1)" (( "(") (identifier "uVar38") (, ",") (binary_expression "iVar15 + 0x5dc8" (identifier "iVar15") (+ "+") (number_literal "0x5dc8")) (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);" (assignment_expression "uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38)" (identifier "uVar21") (= "=") (call_expression "(**(code **)(pcVar5 + 0xd8820))(uVar38)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8820))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd8820)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd8820)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd8820)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd8820)" (( "(") (binary_expression "pcVar5 + 0xd8820" (identifier "pcVar5") (+ "+") (number_literal "0xd8820")) () ")"))))) () ")")) (argument_list "(uVar38)" (( "(") (identifier "uVar38") () ")")))) (; ";")) (expression_statement "uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);" (assignment_expression "uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38)" (identifier "uVar38") (= "=") (call_expression "(**(code **)(pcVar5 + 0xd8824))(uVar38)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8824))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd8824)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd8824)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd8824)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd8824)" (( "(") (binary_expression "pcVar5 + 0xd8824" (identifier "pcVar5") (+ "+") (number_literal "0xd8824")) () ")"))))) () ")")) (argument_list "(uVar38)" (( "(") (identifier "uVar38") () ")")))) (; ";")) (expression_statement "puVar23 = (undefined4 *)0xffffffff;" (assignment_expression "puVar23 = (undefined4 *)0xffffffff" (identifier "puVar23") (= "=") (cast_expression "(undefined4 *)0xffffffff" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "(**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));" (call_expression "(**(code **)(pcVar5 + 0xd866c))\n                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4))" (parenthesized_expression "(**(code **)(pcVar5 + 0xd866c))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd866c)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd866c)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd866c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd866c)" (( "(") (binary_expression "pcVar5 + 0xd866c" (identifier "pcVar5") (+ "+") (number_literal "0xd866c")) () ")"))))) () ")")) (argument_list "(ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4))" (( "(") (identifier "ppppppcVar17") (, ",") (identifier "uVar38") (, ",") (number_literal "0xffffffff") (, ",") (pointer_expression "*(undefined4 *)(pcVar5 + 0xd85e4)" (* "*") (cast_expression "(undefined4 *)(pcVar5 + 0xd85e4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 0xd85e4)" (( "(") (binary_expression "pcVar5 + 0xd85e4" (identifier "pcVar5") (+ "+") (number_literal "0xd85e4")) () ")")))) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);" (call_expression "(**(code **)(pcVar5 + 0xd8778))(ppppppcVar17)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8778))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd8778)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd8778)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd8778)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd8778)" (( "(") (binary_expression "pcVar5 + 0xd8778" (identifier "pcVar5") (+ "+") (number_literal "0xd8778")) () ")"))))) () ")")) (argument_list "(ppppppcVar17)" (( "(") (identifier "ppppppcVar17") () ")"))) (; ";")) (expression_statement "ppppppcVar18 = ppppppcVar17;" (assignment_expression "ppppppcVar18 = ppppppcVar17" (identifier "ppppppcVar18") (= "=") (identifier "ppppppcVar17")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "iVar7 = *piVar33;" (assignment_expression "iVar7 = *piVar33" (identifier "iVar7") (= "=") (pointer_expression "*piVar33" (* "*") (identifier "piVar33"))) (; ";")) (if_statement "if (iStack_164 == iVar7) {\n    return iVar7;\n  }" (if "if") (parenthesized_expression "(iStack_164 == iVar7)" (( "(") (binary_expression "iStack_164 == iVar7" (identifier "iStack_164") (== "==") (identifier "iVar7")) () ")")) (compound_statement "{\n    return iVar7;\n  }" ({ "{") (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}"))) (expression_statement "pcVar5 = *(code **)(pcVar5 + 0xd8a0c);" (assignment_expression "pcVar5 = *(code **)(pcVar5 + 0xd8a0c)" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)(pcVar5 + 0xd8a0c)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd8a0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd8a0c)" (( "(") (binary_expression "pcVar5 + 0xd8a0c" (identifier "pcVar5") (+ "+") (number_literal "0xd8a0c")) () ")"))))) (; ";")) (expression_statement "(*pcVar5)();" (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23);" (assignment_expression "iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(pcVar5 + 0xd8304))(*puVar23)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8304))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd8304)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd8304)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd8304)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd8304)" (( "(") (binary_expression "pcVar5 + 0xd8304" (identifier "pcVar5") (+ "+") (number_literal "0xd8304")) () ")"))))) () ")")) (argument_list "(*puVar23)" (( "(") (pointer_expression "*puVar23" (* "*") (identifier "puVar23")) () ")")))) (; ";")) (if_statement "if (iVar7 == 5) {\n    return 5;\n  }" (if "if") (parenthesized_expression "(iVar7 == 5)" (( "(") (binary_expression "iVar7 == 5" (identifier "iVar7") (== "==") (number_literal "5")) () ")")) (compound_statement "{\n    return 5;\n  }" ({ "{") (return_statement "return 5;" (return "return") (number_literal "5") (; ";")) (} "}"))) (expression_statement "iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18);" (assignment_expression "iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8450))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd8450)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd8450)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd8450)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd8450)" (( "(") (binary_expression "pcVar5 + 0xd8450" (identifier "pcVar5") (+ "+") (number_literal "0xd8450")) () ")"))))) () ")")) (argument_list "(ppppppcVar18,0x18)" (( "(") (identifier "ppppppcVar18") (, ",") (number_literal "0x18") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18);" (assignment_expression "iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18)" (identifier "iVar11") (= "=") (call_expression "(**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd83c8))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd83c8)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd83c8)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd83c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd83c8)" (( "(") (binary_expression "pcVar5 + 0xd83c8" (identifier "pcVar5") (+ "+") (number_literal "0xd83c8")) () ")"))))) () ")")) (argument_list "(ppppppcVar18)" (( "(") (identifier "ppppppcVar18") () ")")))) (; ";")) (expression_statement "iVar15 = *(int *)(iVar7 + 0xc);" (assignment_expression "iVar15 = *(int *)(iVar7 + 0xc)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(iVar7 + 0xc)" (* "*") (cast_expression "(int *)(iVar7 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xc)" (( "(") (binary_expression "iVar7 + 0xc" (identifier "iVar7") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c);" (assignment_expression "*(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c)" (pointer_expression "*(undefined4 *)(iVar7 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xc)" (( "(") (binary_expression "iVar7 + 0xc" (identifier "iVar7") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar11 + 0x6c)" (* "*") (cast_expression "(undefined4 *)(iVar11 + 0x6c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x6c)" (( "(") (binary_expression "iVar11 + 0x6c" (identifier "iVar11") (+ "+") (number_literal "0x6c")) () ")"))))) (; ";")) (if_statement "if (iVar15 != 0) {\n    if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    (*pcVar6)(iVar7,iVar11,uVar38);\n  }" (if "if") (parenthesized_expression "(iVar15 != 0)" (( "(") (binary_expression "iVar15 != 0" (identifier "iVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    (*pcVar6)(iVar7,iVar11,uVar38);\n  }" ({ "{") (if_statement "if (uVar21 == 2) {\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }\n    else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }" (if "if") (parenthesized_expression "(uVar21 == 2)" (( "(") (binary_expression "uVar21 == 2" (identifier "uVar21") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);\n      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);\n      if (iVar11 == 0) goto LAB_000843cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }" ({ "{") (expression_statement "iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);" (assignment_expression "iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1])" (identifier "iVar11") (= "=") (call_expression "(**(code **)(pcVar5 + 0xd831c))(puVar23[1])" (parenthesized_expression "(**(code **)(pcVar5 + 0xd831c))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd831c)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd831c)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd831c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd831c)" (( "(") (binary_expression "pcVar5 + 0xd831c" (identifier "pcVar5") (+ "+") (number_literal "0xd831c")) () ")"))))) () ")")) (argument_list "(puVar23[1])" (( "(") (subscript_expression "puVar23[1]" (identifier "puVar23") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (expression_statement "uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);" (assignment_expression "uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1])" (identifier "uVar38") (= "=") (call_expression "(**(code **)(pcVar5 + 0xd8318))(puVar23[1])" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8318))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd8318)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd8318)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd8318)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd8318)" (( "(") (binary_expression "pcVar5 + 0xd8318" (identifier "pcVar5") (+ "+") (number_literal "0xd8318")) () ")"))))) () ")")) (argument_list "(puVar23[1])" (( "(") (subscript_expression "puVar23[1]" (identifier "puVar23") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (if_statement "if (iVar11 == 0) goto LAB_000843cc;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000843cc;" (goto "goto") (statement_identifier "LAB_000843cc") (; ";"))) (expression_statement "pcVar6 = *(code **)(pcVar5 + 0xd84a8);" (assignment_expression "pcVar6 = *(code **)(pcVar5 + 0xd84a8)" (identifier "pcVar6") (= "=") (pointer_expression "*(code **)(pcVar5 + 0xd84a8)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd84a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd84a8)" (( "(") (binary_expression "pcVar5 + 0xd84a8" (identifier "pcVar5") (+ "+") (number_literal "0xd84a8")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }" (else "else") (compound_statement "{\n      uVar38 = 1;\n      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;\n      pcVar6 = *(code **)(pcVar5 + 0xd84a8);\n    }" ({ "{") (expression_statement "uVar38 = 1;" (assignment_expression "uVar38 = 1" (identifier "uVar38") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;" (assignment_expression "iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc" (identifier "iVar11") (= "=") (binary_expression "*(int *)(pcVar5 + 0xd82cc) + 0x60cc" (pointer_expression "*(int *)(pcVar5 + 0xd82cc)" (* "*") (cast_expression "(int *)(pcVar5 + 0xd82cc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 0xd82cc)" (( "(") (binary_expression "pcVar5 + 0xd82cc" (identifier "pcVar5") (+ "+") (number_literal "0xd82cc")) () ")")))) (+ "+") (number_literal "0x60cc"))) (; ";")) (expression_statement "pcVar6 = *(code **)(pcVar5 + 0xd84a8);" (assignment_expression "pcVar6 = *(code **)(pcVar5 + 0xd84a8)" (identifier "pcVar6") (= "=") (pointer_expression "*(code **)(pcVar5 + 0xd84a8)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd84a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd84a8)" (( "(") (binary_expression "pcVar5 + 0xd84a8" (identifier "pcVar5") (+ "+") (number_literal "0xd84a8")) () ")"))))) (; ";")) (} "}")))) (expression_statement "(*pcVar6)(iVar7,iVar11,uVar38);" (call_expression "(*pcVar6)(iVar7,iVar11,uVar38)" (parenthesized_expression "(*pcVar6)" (( "(") (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6")) () ")")) (argument_list "(iVar7,iVar11,uVar38)" (( "(") (identifier "iVar7") (, ",") (identifier "iVar11") (, ",") (identifier "uVar38") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_000843cc:\n  iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);" (statement_identifier "LAB_000843cc") (: ":") (expression_statement "iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);" (assignment_expression "iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23)" (identifier "iVar11") (= "=") (call_expression "(**(code **)(pcVar5 + 0xd831c))(*puVar23)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd831c))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd831c)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd831c)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd831c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd831c)" (( "(") (binary_expression "pcVar5 + 0xd831c" (identifier "pcVar5") (+ "+") (number_literal "0xd831c")) () ")"))))) () ")")) (argument_list "(*puVar23)" (( "(") (pointer_expression "*puVar23" (* "*") (identifier "puVar23")) () ")")))) (; ";"))) (expression_statement "iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23);" (assignment_expression "iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23)" (identifier "iVar15") (= "=") (call_expression "(**(code **)(pcVar5 + 0xd8318))(*puVar23)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd8318))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd8318)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd8318)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd8318)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd8318)" (( "(") (binary_expression "pcVar5 + 0xd8318" (identifier "pcVar5") (+ "+") (number_literal "0xd8318")) () ")"))))) () ")")) (argument_list "(*puVar23)" (( "(") (pointer_expression "*puVar23" (* "*") (identifier "puVar23")) () ")")))) (; ";")) (if_statement "if (iVar11 == 0) {\n    return iVar15;\n  }" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return iVar15;\n  }" ({ "{") (return_statement "return iVar15;" (return "return") (identifier "iVar15") (; ";")) (} "}"))) (expression_statement "iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15);" (assignment_expression "iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15)" (identifier "iVar7") (= "=") (call_expression "(**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15)" (parenthesized_expression "(**(code **)(pcVar5 + 0xd84a8))" (( "(") (pointer_expression "**(code **)(pcVar5 + 0xd84a8)" (* "*") (pointer_expression "*(code **)(pcVar5 + 0xd84a8)" (* "*") (cast_expression "(code **)(pcVar5 + 0xd84a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar5 + 0xd84a8)" (( "(") (binary_expression "pcVar5 + 0xd84a8" (identifier "pcVar5") (+ "+") (number_literal "0xd84a8")) () ")"))))) () ")")) (argument_list "(iVar7,iVar11,iVar15)" (( "(") (identifier "iVar7") (, ",") (identifier "iVar11") (, ",") (identifier "iVar15") () ")")))) (; ";")) (return_statement "return iVar7;" (return "return") (identifier "iVar7") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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: (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: (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: (type_identifier) 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: (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: (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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (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: (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: (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: (primitive_type) 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: (primitive_type) 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: (pointer_expression argument: (identifier))))) (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: (pointer_expression argument: (identifier))))) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) 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: (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: (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: (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: (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: (type_identifier) 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: (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 (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) 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: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (char_literal (escape_sequence))))) (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (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: (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 (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)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (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 (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (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))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (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: (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 */

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

{
  code *pcVar1;
  byte bVar2;
  bool bVar3;
  undefined *puVar4;
  code *pcVar5;
  code *pcVar6;
  int iVar7;
  code *****pppppcVar8;
  code *******pppppppcVar9;
  code ****ppppcVar10;
  int iVar11;
  code *****pppppcVar12;
  code *******pppppppcVar13;
  code ****ppppcVar14;
  int iVar15;
  code ****ppppcVar16;
  code ******ppppppcVar17;
  code ******ppppppcVar18;
  code *******pppppppcVar19;
  code ****ppppcVar20;
  uint uVar21;
  code *******pppppppcVar22;
  undefined4 *puVar23;
  code ****ppppcVar24;
  code ****ppppcVar25;
  code ****ppppcVar26;
  code ****ppppcVar27;
  code *******unaff_s0;
  uint *puVar28;
  undefined *unaff_s1;
  int iVar29;
  code *******unaff_s2;
  code *******unaff_s3;
  code *****pppppcVar30;
  int iVar31;
  code *******unaff_s4;
  code *******pppppppcVar32;
  code *******unaff_s5;
  int *piVar33;
  int iVar34;
  code *****unaff_s7;
  float *pfVar35;
  undefined *puVar36;
  int iVar37;
  undefined4 uVar38;
  float fVar39;
  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];
  byte bStack_34c;
  byte bStack_34b;
  byte bStack_349;
  int iStack_164;
  uint *puStack_160;
  code *******pppppppcStack_15c;
  code *******pppppppcStack_158;
  int iStack_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;
  int local_2c;
  
  puVar4 = PTR___stack_chk_guard_0015ca30;
  puVar36 = PTR_s_LE_FTS4_0015c5f4;
  pppppcVar12 = param_1[5];
  local_2c = *(int *)PTR___stack_chk_guard_0015ca30;
  if ((param_3 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) {
    ppppppcVar18 = param_1;
    pppppppcVar19 = param_2;
    pppppppcStack_80 = unaff_s4;
    if (param_4 != (code *******)0x0) {
LAB_0008366c:
      if (param_2 == (code *******)0x0) {
        param_3 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x7894);
      }
      else {
        param_3 = (code *******)(PTR_LAB_0015c5e8 + 0x79d0);
      }
      pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x783c);
      ppppppcVar18 = param_1;
      local_58 = param_4;
      FUN_00083088();
      pppppppcStack_80 = unaff_s4;
    }
  }
  else {
    unaff_s1 = PTR_LAB_0015c718 + 0x31a0;
    unaff_s5 = (code *******)(PTR_LAB_0015c718 + 0x3248);
    pcVar5 = (code *)(PTR_LAB_0015c66c + -0x138c);
    pcVar6 = (code *)(PTR_LAB_0015c718 + 0x3088);
    unaff_s0 = param_3;
    pppppppcVar9 = param_4;
    unaff_s3 = unaff_s4;
    while (ppppppcVar18 = param_1, pppppppcVar19 = unaff_s0, iVar7 = FUN_000831a0(),
          pppppppcStack_80 = unaff_s3, iVar7 == 0) {
      param_3 = &local_30;
      unaff_s3 = (code *******)((int)pppppppcVar9 + -1);
      iVar7 = (*(code *)param_1[1][0x33])(param_1[1],unaff_s0,param_3,0);
      pppppppcStack_80 = unaff_s3;
      if (iVar7 != 0) {
        pppppppcVar19 = (code *******)(PTR_s_LE_FTS4_0015c5f4 + -0x787c);
        ppppppcVar18 = param_1;
        param_3 = unaff_s0;
        FUN_00083088();
        if (unaff_s3 == (code *******)0x0) goto LAB_00083534;
        pppppcVar8 = param_1[5];
        unaff_s4 = unaff_s3;
        goto LAB_00083658;
      }
      pppppppcVar19 = (code *******)*param_1;
      unaff_s7 = local_30[1];
      pcVar1 = (code *)((int)pppppppcVar19 + 0x11);
      if (param_2 == (code *******)0x0) {
        pppppppcVar19 = (code *******)*unaff_s7;
        pppppppcVar32 = pppppppcVar19;
        pppppppcVar9 = unaff_s3;
        if ((*pcVar1 != (code)0x0) &&
           (param_3 = (code *******)&DAT_00000004, unaff_s3 != (code *******)0x0)) {
          FUN_00083248(param_1,pppppppcVar19,4,unaff_s0);
          pppppppcVar32 = (code *******)*unaff_s7;
          goto LAB_00083488;
        }
LAB_00083518:
        ppppppcVar18 = local_30;
        (*pcVar5)();
        unaff_s0 = pppppppcVar32;
      }
      else {
        unaff_s2 = (code *******)unaff_s7[1];
        if (*pcVar1 != (code)0x0) {
          param_3 = (code *******)&SUB_00000002;
          FUN_00083248(param_1,unaff_s0,2,0);
          pppppppcVar19 = (code *******)*param_1;
        }
        if ((code *******)(((uint)pppppppcVar19[9] >> 2) - 2) < unaff_s2) {
          pppppppcVar9 = (code *******)((int)pppppppcVar9 + -2);
          pppppppcVar19 = (code *******)(puVar36 + -0x7864);
          (*pcVar6)(param_1);
          pppppppcVar32 = (code *******)*unaff_s7;
          param_3 = unaff_s0;
        }
        else {
          if (0 < (int)unaff_s2) {
            pppppcVar30 = unaff_s7 + 2;
            pppppcVar8 = pppppcVar30 + (int)unaff_s2;
            while( true ) {
              pppppppcVar9 = (code *******)*pppppcVar30;
              if (*(code *)((int)pppppppcVar19 + 0x11) == (code)0x0) {
                FUN_000831a0(param_1);
                pppppppcVar19 = pppppppcVar9;
              }
              else {
                param_3 = (code *******)&SUB_00000002;
                FUN_00083248(param_1,pppppppcVar9,2,0);
                FUN_000831a0(param_1);
                pppppppcVar19 = pppppppcVar9;
              }
              if (pppppcVar30 + 1 == pppppcVar8) break;
              pppppcVar30 = pppppcVar30 + 1;
              pppppppcVar19 = (code *******)*param_1;
            }
          }
          pppppppcVar32 = (code *******)*unaff_s7;
          pppppppcVar9 = (code *******)((int)unaff_s3 - (int)unaff_s2);
        }
LAB_00083488:
        unaff_s0 = pppppppcVar32;
        ppppppcVar18 = local_30;
        if (local_30 != (code ******)0x0) goto LAB_00083518;
      }
      if ((unaff_s0 == (code *******)0x0) || (param_1[4] == (code *****)0x0)) break;
    }
    unaff_s3 = pppppppcVar9;
    if (pppppppcVar9 != (code *******)0x0) {
      pppppcVar8 = param_1[5];
      unaff_s4 = pppppppcStack_80;
LAB_00083658:
      pppppppcStack_80 = unaff_s4;
      if (pppppcVar8 == pppppcVar12) goto LAB_0008366c;
    }
  }
LAB_00083534:
  if (local_2c == *(int *)puVar4) {
    return *(int *)puVar4;
  }
  pcVar5 = FUN_000836fc;
  puVar36 = PTR___stack_chk_fail_0015ca14;
  (*(code *)PTR___stack_chk_fail_0015ca14)();
  puStack_120 = puVar36 + 0xe0eb4;
  puVar28 = *(uint **)(puVar36 + 0xd9334);
  pbStack_b4 = (byte *)0x0;
  ppppppcStack_94 = (code ******)*puVar28;
  pppppppcVar9 = param_3;
  pppppppcVar32 = 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 = pcVar5;
  if (pppppppcVar19 == (code *******)0x0) {
LAB_00083750:
    iVar7 = 0;
    ppppppcVar18 = param_1;
  }
  else {
    pppppcStack_114 = ppppppcVar18[7];
    pppppppcVar32 = (code *******)*ppppppcVar18;
    pppppcStack_110 = ppppppcVar18[8];
    pppppcStack_10c = ppppppcVar18[9];
    ppppppcStack_118 = pppppppcVar32[9];
    iVar7 = FUN_000831a0();
    unaff_s5 = param_3;
    param_1 = ppppppcVar18;
    if (iVar7 != 0) goto LAB_00083750;
    iVar7 = *(int *)(puStack_120 + -0x7fbc);
    iVar11 = *(int *)(puStack_120 + -0x7f44);
    ppppppcVar18[8] = (code *****)pppppppcVar19;
    ppppppcVar18[7] = (code *****)(iVar7 + -0x7820);
    pppppppcVar9 = (code *******)
                   (*(code *)(iVar11 + -0xe54))(pppppppcVar32,pppppppcVar19,&pbStack_b4,0);
    if (pppppppcVar9 == (code *******)0x0) {
      uStack_f0 = (uint)*pbStack_b4;
      *pbStack_b4 = 0;
      pppppppcStack_dc = (code *******)FUN_000695f8(pbStack_b4);
      if (pppppppcStack_dc != (code *******)0x0) {
        iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x77ec;
        pppppppcVar9 = pppppppcStack_dc;
        goto LAB_00083b74;
      }
      param_2 = *(code ********)(pbStack_b4 + 0x38);
      bVar2 = pbStack_b4[9];
      ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77c4);
      pcStack_d4 = (code *)((int)param_2 + (uint)bVar2);
      iStack_c4 = bVar2 + 0xc + (uint)pbStack_b4[8] * -4;
      pppppppcStack_ec = (code *******)(*(ushort *)(pcStack_d4 + 3) - 1);
      pppppppcVar9 = (code *******)(*(ushort *)(pcStack_d4 + 5) - 1);
      ppppcStack_c8 = (code ****)((uint)pppppppcVar9 & 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) {
        uVar38 = *(undefined4 *)(pcStack_d4 + 8);
        if (*(code *)((int)pppppppcVar32 + 0x11) != (code)0x0) {
          ppppppcVar18[7] = (code *****)(*(int *)(puStack_120 + -0x7fbc) + -0x77a8);
          FUN_00083248(ppppppcVar18,uVar38,5,pppppppcVar19);
        }
        pppppppcVar9 = (code *******)&local_58;
        ppppppcStack_124 = ppppppcStack_54;
        unaff_s7 = (code *****)0x0;
        pppppppcStack_128 = local_58;
        iStack_108 = FUN_000836fc(ppppppcVar18,uVar38);
        iStack_104 = 0;
      }
      else {
        unaff_s7 = ppppppcVar18[0x10];
        iStack_104 = 1;
        *unaff_s7 = (code ****)0x0;
        iStack_108 = -1;
      }
      pppppppcVar22 = pppppppcStack_d8;
      unaff_s2 = pppppppcStack_ec;
      if ((pppppppcStack_ec == (code *******)0xffffffff) || (ppppppcVar18[4] == (code *****)0x0)) {
        iVar7 = iStack_108 + 1;
        param_3[1] = ppppppcStack_54;
        *param_3 = (code ******)local_58;
        ppppppcVar18[7] = (code *****)0x0;
LAB_00083c5c:
        if (0 < (int)ppppppcVar18[4]) {
          if (pbStack_b4[8] == 0) {
            unaff_s7 = ppppppcVar18[0x10];
            *unaff_s7 = (code ****)0x0;
            if (pppppppcStack_ec != (code *******)0xffffffff) {
              unaff_s5 = (code *******)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);
              iVar11 = iStack_c4 + -2;
              pcVar5 = pcStack_e4;
              pppppppcStack_64 = pppppppcVar19;
              do {
                pcVar6 = pcVar5 + -2;
                uVar21 = (uint)*(ushort *)pcVar5;
                iVar15 = (**(code **)(pbStack_b4 + 0x4c))
                                   (pbStack_b4,(code *)((int)param_2 + uVar21));
                pppppppcVar32 = (code *******)(iVar15 + -1 + uVar21);
                (*(code *)unaff_s5)(unaff_s7,(uint)pppppppcVar32 | uVar21 << 0x10);
                pcVar5 = pcVar6;
                pppppppcVar19 = pppppppcStack_64;
              } while ((code *)((int)param_2 + iVar11) != pcVar6);
            }
          }
          uVar21 = (uint)*(ushort *)(pcStack_d4 + 1);
          unaff_s2 = *(code ********)(puStack_120 + -0x7f44);
          if (uVar21 != 0) {
            unaff_s2 = unaff_s2 + -0x2cf;
            pppppppcVar9 = unaff_s2;
            do {
              pcVar5 = (code *)((int)param_2 + uVar21);
              (*(code *)pppppppcVar9)
                        (unaff_s7,(*(ushort *)(pcVar5 + 2) + uVar21) - 1 | uVar21 << 0x10);
              uVar21 = (uint)*(ushort *)pcVar5;
            } while (uVar21 != 0);
          }
          ppppcVar20 = *unaff_s7;
          pppppppcVar22 = pppppppcStack_dc;
          ppppcVar26 = ppppcStack_c8;
          if (ppppcVar20 == (code ****)0x0) {
            pppppppcVar22 = (code *******)0x0;
          }
          else {
            do {
              ppppcVar25 = unaff_s7[1];
              unaff_s7[1] = unaff_s7[(int)ppppcVar20];
              unaff_s7[(int)ppppcVar20] = (code ****)0xffffffff;
              ppppcVar20 = (code ****)((int)*unaff_s7 - 1);
              *unaff_s7 = ppppcVar20;
              if ((code ****)0x1 < ppppcVar20) {
                ppppcVar27 = unaff_s7[1];
                ppppcVar24 = (code ****)0x2;
                ppppcVar10 = (code ****)0x1;
                do {
                  pppppcVar12 = unaff_s7 + (int)((int)ppppcVar24 + 1U);
                  ppppcVar14 = *pppppcVar12;
                  ppppcVar16 = (code ****)((int)ppppcVar24 + 1U);
                  if (unaff_s7[(int)ppppcVar10 * 2] <= ppppcVar14) {
                    pppppcVar12 = unaff_s7 + (int)ppppcVar24;
                    ppppcVar14 = *pppppcVar12;
                    ppppcVar16 = ppppcVar24;
                  }
                  if (ppppcVar27 < ppppcVar14) break;
                  unaff_s7[(int)ppppcVar10] = ppppcVar14;
                  ppppcVar24 = (code ****)((int)ppppcVar16 << 1);
                  *pppppcVar12 = ppppcVar27;
                  ppppcVar20 = *unaff_s7;
                  ppppcVar10 = ppppcVar16;
                } while (ppppcVar24 <= ppppcVar20);
              }
              pppppppcVar9 = (code *******)((uint)ppppcVar25 >> 0x10);
              unaff_s2 = (code *******)((uint)ppppcVar26 & 0xffff);
              if (pppppppcVar9 <= unaff_s2) {
                pppppppcStack_dc = pppppppcVar22;
                FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7720,pppppppcVar9,
                             pppppppcVar19);
                if (*unaff_s7 != (code ****)0x0) goto LAB_00083b8c;
                pppppppcVar9 = (code *******)
                               ((code *)((int)ppppppcStack_118 - 1) + (int)pppppppcStack_dc +
                               -(int)unaff_s2);
                goto LAB_00083e5c;
              }
              pppppppcVar22 =
                   (code *******)
                   ((code *)((int)pppppppcVar9 + -1) + (int)pppppppcVar22 + -(int)unaff_s2);
              ppppcVar26 = ppppcVar25;
            } while (ppppcVar20 != (code ****)0x0);
            ppppcVar26 = (code ****)((uint)ppppcVar25 & 0xffff);
          }
          unaff_s7 = (code *****)((int)ppppppcStack_118 - 1);
          pppppppcVar9 = (code *******)
                         ((code *)((int)unaff_s7 + (int)pppppppcVar22) + -(int)ppppcVar26);
LAB_00083e5c:
          if ((code *******)(uint)(byte)pcStack_d4[7] != pppppppcVar9) {
            pppppppcStack_128 = pppppppcVar19;
            FUN_00083088(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x76f8);
          }
        }
      }
      else {
        pppppppcVar13 = (code *******)(ppppppcStack_118 + -1);
        iStack_fc = 1;
        iStack_f4 = *(int *)(puStack_120 + -0x7fbc);
        pcStack_100 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x3088);
        iStack_cc = *(int *)(puStack_120 + -0x7fbc);
        pcStack_d0 = (code *)(*(int *)(puStack_120 + -0x7f44) + -0xb3c);
        pcStack_e0 = (code *)(*(int *)(puStack_120 + -0x7e98) + 0x36fc);
        pcVar5 = pcStack_e4;
        pppppppcStack_f8 = pppppppcVar32;
        pppppcStack_e8 = unaff_s7;
        pppppppcStack_d8 = param_3;
        pppppppcStack_64 = pppppppcVar19;
        do {
          ppppppcVar18[9] = (code *****)unaff_s2;
          pppppppcVar19 = (code *******)(uint)*(ushort *)pcVar5;
          if ((pppppppcVar19 < pppppppcVar22) || (pppppppcVar13 < pppppppcVar19)) {
            pppppppcStack_128 = pppppppcVar13;
            (*pcStack_100)(ppppppcVar18,iStack_f4 + -0x778c,pppppppcVar19,pppppppcVar22);
            iStack_fc = 0;
            pppppppcVar9 = pppppppcVar19;
          }
          else {
            pcVar6 = (code *)((int)param_2 + (int)pppppppcVar19);
            pppppppcVar9 = (code *******)&pppppppcStack_b0;
            (**(code **)(pbStack_b4 + 0x50))(pbStack_b4,pcVar6);
            if (ppppppcStack_118 < (code ******)((int)pppppppcVar19 + (uint)uStack_9e)) {
              (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x776c);
              iStack_fc = 0;
            }
            else {
              if (pbStack_b4[2] != 0) {
                if (iStack_104 == 0) {
                  bVar3 = true;
                  if (((int)pppppppcStack_b0 < (int)local_58) ||
                     ((local_58 == pppppppcStack_b0 && (ppppppcStack_ac < ppppppcStack_54)))) {
LAB_00083eb0:
                    bVar3 = false;
                  }
                }
                else {
                  bVar3 = true;
                  if ((int)pppppppcStack_b0 <= (int)local_58) {
                    if (pppppppcStack_b0 != local_58) goto LAB_00083eb0;
                    if (ppppppcStack_ac <= ppppppcStack_54) {
                      bVar3 = false;
                    }
                  }
                }
                if (bVar3) {
                  (*pcStack_100)(ppppppcVar18,*(int *)(puStack_120 + -0x7fbc) + -0x7754);
                }
                iStack_104 = 0;
                local_58 = pppppppcStack_b0;
                ppppppcStack_54 = ppppppcStack_ac;
              }
              if (uStack_a0 < uStack_a4) {
                uVar38 = *(undefined4 *)(pcVar6 + (uStack_9e - 4));
                if (pppppppcVar13 == (code *******)0x0) {
                  trap(7);
                }
                uVar21 = (uint)((int)ppppppcStack_118 + ((uStack_a4 - 5) - (uint)uStack_a0)) /
                         (uint)pppppppcVar13;
                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {
                  uStack_c0 = uVar38;
                  uStack_bc = uVar21;
                  FUN_00083248(ppppppcVar18,uVar38,3,pppppppcStack_64);
                  uVar21 = uStack_bc;
                  uVar38 = uStack_c0;
                }
                MASKED(ppppppcVar18,0,uVar38,uVar21);
              }
              if (pbStack_b4[8] == 0) {
                uVar38 = *(undefined4 *)pcVar6;
                if (*(code *)((int)pppppppcStack_f8 + 0x11) != (code)0x0) {
                  FUN_00083248(ppppppcVar18,uVar38,5,pppppppcStack_64);
                }
                pppppppcVar9 = (code *******)&local_58;
                ppppppcStack_124 = ppppppcStack_54;
                pppppppcStack_128 = local_58;
                iVar7 = (*pcStack_e0)(ppppppcVar18,uVar38);
                if (iVar7 == iStack_108) {
                  iStack_104 = 0;
                  iStack_108 = iVar7;
                }
                else {
                  iStack_108 = iVar7;
                  (*pcStack_100)(ppppppcVar18,iStack_cc + -0x773c);
                  iStack_104 = 0;
                }
              }
              else {
                pppppppcVar9 = (code *******)(uStack_9e - 1);
                (*pcStack_d0)(pppppcStack_e8,
                              (uint)((int)pppppppcVar9 + (int)pppppppcVar19) |
                              (int)pppppppcVar19 << 0x10);
              }
            }
          }
          unaff_s2 = (code *******)((int)unaff_s2 + -1);
        } while ((unaff_s2 != (code *******)0xffffffff) &&
                (pcVar5 = pcVar5 + -2, ppppppcVar18[4] != (code *****)0x0));
        iVar7 = iStack_108 + 1;
        pppppppcStack_d8[1] = ppppppcStack_54;
        *pppppppcStack_d8 = (code ******)local_58;
        ppppppcVar18[7] = (code *****)0x0;
        pppppppcVar19 = pppppppcStack_64;
        pppppppcVar32 = pppppppcVar22;
        unaff_s5 = pppppppcStack_d8;
        unaff_s7 = pppppcStack_e8;
        if (iStack_fc != 0) goto LAB_00083c5c;
        *pbStack_b4 = (byte)uStack_f0;
      }
    }
    else {
      iVar7 = *(int *)(puStack_120 + -0x7fbc) + -0x7814;
LAB_00083b74:
      FUN_00083088(ppppppcVar18,iVar7);
      iVar7 = 0;
    }
LAB_00083b8c:
    if (pbStack_b4 != (byte *)0x0) {
      (*(code *)(*(int *)(puStack_120 + -0x7f44) + -0x138c))(*(undefined4 *)(pbStack_b4 + 0x48));
    }
    ppppppcVar18[7] = pppppcStack_114;
    ppppppcVar18[8] = pppppcStack_110;
    ppppppcVar18[9] = pppppcStack_10c;
  }
  if (ppppppcStack_94 == (code ******)*puVar28) {
    return iVar7;
  }
  pcVar5 = *(code **)(puStack_120 + -0x7b9c);
  uVar38 = 0x84008;
  ppppppcVar17 = ppppppcStack_94;
  (*pcVar5)();
  uVar21 = 0;
  puVar23 = (undefined4 *)&DAT_000001f8;
  piVar33 = *(int **)(pcVar5 + 0xd8a28);
  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 = *piVar33;
  puStack_160 = puVar28;
  pppppppcStack_15c = pppppppcVar19;
  pppppppcStack_158 = unaff_s2;
  iStack_154 = iVar7;
  pppppppcStack_150 = pppppppcVar32;
  pppppppcStack_14c = unaff_s5;
  pppppppcStack_148 = param_2;
  pppppcStack_144 = unaff_s7;
  ppppppcStack_140 = ppppppcVar18;
  uStack_13c = uVar38;
  (**(code **)(pcVar5 + 0xd89b0))(auStack_360);
  ppppppcVar18 = *pppppppcVar9;
  bStack_34c = (**(code **)(pcVar5 + 0xd8730))(ppppppcVar18);
  if (bStack_34c - 1 < 5) {
    bStack_34b = bStack_34c << 1;
    bStack_349 = (bStack_34c + 1) * '\b';
    iStack_398 = (**(code **)(pcVar5 + 0xd8628))(pppppppcVar9[1]);
    ppppppcVar18 = pppppppcVar9[1];
    iVar7 = (**(code **)(pcVar5 + 0xd862c))(ppppppcVar18);
    if (3 < iVar7) {
      uVar21 = (uint)bStack_349;
      ppppppcVar18 = (code ******)(uint)*(byte *)(iStack_398 + 3);
      if ((int)((int)((code ******)(uint)*(byte *)(iStack_398 + 3) +
                     (uint)*(byte *)(iStack_398 + 2) * 0x40) * uVar21) <= iVar7) {
        uVar38 = (**(code **)(pcVar5 + 0xd881c))(0);
        if ((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3) != 0) {
          iVar7 = *(int *)(pcVar5 + 0xd85ec);
          iVar11 = *(int *)(pcVar5 + 0xd86bc);
          iVar31 = 0;
          (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,0);
          iVar15 = *(int *)(pcVar5 + 0xd85e0);
          iVar34 = *(int *)(pcVar5 + 0xd85ec);
          iVar29 = *(int *)(pcVar5 + 0xd85ec);
          while( true ) {
            sqlite3_str_appendf(uVar38,iVar34 + -0x76c4,uStack_390,uStack_38c);
            if (bStack_34b != 0) {
              pfVar35 = afStack_388;
              iVar37 = 0;
              do {
                fVar39 = *pfVar35;
                iVar37 = iVar37 + 1;
                pfVar35 = pfVar35 + 1;
                sqlite3_str_appendf(uVar38,iVar29 + -0x76bc,(int)((ulonglong)(double)fVar39 >> 0x20)
                                    ,SUB84((double)fVar39,0));
              } while (iVar37 < (int)(uint)bStack_34b);
            }
            iVar31 = iVar31 + 1;
            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar7 + -0x739c,1);
            if ((int)((uint)*(byte *)(iStack_398 + 2) * 0x100 + (uint)*(byte *)(iStack_398 + 3)) <=
                iVar31) break;
            (*(code *)(iVar11 + -0x1554))(auStack_360,&uStack_3b0,iVar31,&uStack_390);
            (**(code **)(pcVar5 + 0xd87bc))(uVar38,iVar15 + 0x5dc8,1);
          }
        }
        uVar21 = (**(code **)(pcVar5 + 0xd8820))(uVar38);
        uVar38 = (**(code **)(pcVar5 + 0xd8824))(uVar38);
        puVar23 = (undefined4 *)0xffffffff;
        (**(code **)(pcVar5 + 0xd866c))
                  (ppppppcVar17,uVar38,0xffffffff,*(undefined4 *)(pcVar5 + 0xd85e4));
        (**(code **)(pcVar5 + 0xd8778))(ppppppcVar17);
        ppppppcVar18 = ppppppcVar17;
      }
    }
  }
  iVar7 = *piVar33;
  if (iStack_164 == iVar7) {
    return iVar7;
  }
  pcVar5 = *(code **)(pcVar5 + 0xd8a0c);
  (*pcVar5)();
  iVar7 = (**(code **)(pcVar5 + 0xd8304))(*puVar23);
  if (iVar7 == 5) {
    return 5;
  }
  iVar7 = (**(code **)(pcVar5 + 0xd8450))(ppppppcVar18,0x18);
  if (iVar7 == 0) {
    return 0;
  }
  iVar11 = (**(code **)(pcVar5 + 0xd83c8))(ppppppcVar18);
  iVar15 = *(int *)(iVar7 + 0xc);
  *(undefined4 *)(iVar7 + 0xc) = *(undefined4 *)(iVar11 + 0x6c);
  if (iVar15 != 0) {
    if (uVar21 == 2) {
      iVar11 = (**(code **)(pcVar5 + 0xd831c))(puVar23[1]);
      uVar38 = (**(code **)(pcVar5 + 0xd8318))(puVar23[1]);
      if (iVar11 == 0) goto LAB_000843cc;
      pcVar6 = *(code **)(pcVar5 + 0xd84a8);
    }
    else {
      uVar38 = 1;
      iVar11 = *(int *)(pcVar5 + 0xd82cc) + 0x60cc;
      pcVar6 = *(code **)(pcVar5 + 0xd84a8);
    }
    (*pcVar6)(iVar7,iVar11,uVar38);
  }
LAB_000843cc:
  iVar11 = (**(code **)(pcVar5 + 0xd831c))(*puVar23);
  iVar15 = (**(code **)(pcVar5 + 0xd8318))(*puVar23);
  if (iVar11 == 0) {
    return iVar15;
  }
                    /* WARNING: Could not recover jumptable at 0x00084418. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  iVar7 = (**(code **)(pcVar5 + 0xd84a8))(iVar7,iVar11,iVar15);
  return iVar7;
}

